core.async has (and had) some bugs around dot forms. File an issue with core.async.
David On Sun, Jan 12, 2014 at 6:10 AM, Paul Butcher <[email protected]> wrote: > Update: this definitely seems to be something to do with being within the > go-loop. Hoisting it out into a separate function also fixes the problem: > > (defn setx [elem x] > (set! (.. elem -cx -baseVal -value) x)) > > (let [circle (dom/getElement "circle")] > (go-loop [x 20] > (<! (timeout 10)) > (setx circle x) > (recur (inc x)))) > > > -- > paul.butcher->msgCount++ > > Silverstone, Brands Hatch, Donington Park... > Who says I have a one track mind? > > http://www.paulbutcher.com/ > LinkedIn: http://www.linkedin.com/in/paulbutcher > Skype: paulrabutcher > > > > > On 12 Jan 2014, at 10:25, Paul Butcher <[email protected]> wrote: > > I'm still finding my feet with ClojureScript, so please forgive any stupid > mistakes. I've just hit an oddity when using set! with .. > > I have a page with a very simple SVG on it: > > <svg width="500" height="100"> > <circle id="circle" cx="20" cy="20" r="10" style="stroke: none; fill: > #ff0000;"/> > </svg> > > > And a very simple little piece of ClojureScript that animates it: > > (let [circle (dom/getElement "circle")] > (go-loop [x 20] > (<! (timeout 10)) > (set! (.-value (.-baseVal (.-cx circle))) x) > (recur (inc x)))) > > > This all works fine. If, however, I change the set! to: > > (set! (.. circle -cx -baseVal -value) x) > > > I get the error: > > Wrong number of args (3) passed to: core$-DOT > > > But the same structure works fine outside of the go-loop. So this, for > example, compiles and runs exactly as I'd expect: > > (set! (.. (dom/getElement "circle") -cx -baseVal -value) 200) > > > I'd be very grateful for any pointers as to what's up. > > Thanks, > > -- > paul.butcher->msgCount++ > > Silverstone, Brands Hatch, Donington Park... > Who says I have a one track mind? > > http://www.paulbutcher.com/ > LinkedIn: http://www.linkedin.com/in/paulbutcher > Skype: paulrabutcher > > > > > > -- > Note that posts from new members are moderated - please be patient with > your first post. > --- > You received this message because you are subscribed to the Google Groups > "ClojureScript" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/clojurescript. > -- Note that posts from new members are moderated - please be patient with your first post. --- You received this message because you are subscribed to the Google Groups "ClojureScript" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/clojurescript.
