Please open a ticket for this in JIRA, thanks - http://dev.clojure.org/jira/browse/CLJS
David On Sun, Nov 20, 2011 at 12:33 PM, Jeff Valk <jv-li...@tx.rr.com> wrote: > Hello all, > I ran into an extend-type issue with the ClojureScript compiler output. If > there's a better place to report such things, please point me there. > > If I define a protocol method with multiple arities, implementing it using > deftype works as expected, however extend-type does not. The former > compiles to a single javascript function, which checks argument length to > handle arity. The latter produces two identically named functions, the > second of which overwrites the first; hence only one arity is available at > runtime. > > Here's a simplified example. Given a protocol: > > (defprotocol MyProtocol > (something [this] > [this x])) > > I would expect the following two code snippets to compile with functional > equivalence. > > (deftype MyType [] > MyProtocol > (something [this] ... ) > (something [this x] ... )) > > (deftype MyType []) > (extend-type MyType > MyProtocol > (something [this] ... ) > (something [this x] ... )) > > The former compiles 'something' to a single function. The latter compiles > as: > > myns.MyType.prototype.myns$MyProtocol$ = true; > myns.MyType.prototype.myns$MyProtocol$something = function(this$) { ... > }; > myns.MyType.prototype.myns$MyProtocol$something = function(this$, x) { > ... }; > > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en