Fixed in master. On Wed, Oct 12, 2011 at 2:22 PM, David Nolen <dnolen.li...@gmail.com> wrote:
> Thanks for the report, CLJS-62 reopened, > http://dev.clojure.org/jira/browse/CLJS-62 > > David > > On Wed, Oct 12, 2011 at 2:10 PM, Praki <praki.prak...@gmail.com> wrote: > >> I am running into a problem with memoized functions in ClojureScript. >> Functions which take a single argument work okay but functions of two >> args throw an error. >> >> I haven't been able to isolate the bug (I am able to hash vectors and >> nested vectors just fine). Any hints on the root cause or workarounds >> is greatly appreciated. >> >> Repl transcript follows. >> >> > ~/tools/clojurescript/script/repljs >> "Type: " :cljs/quit " to quit" >> ClojureScript:cljs.user> (defn foo [a] a) >> #< >> function foo(a) { >> return a; >> } >> > >> ClojureScript:cljs.user> (defn bar [a b] [a b]) >> #< >> function bar(a, b) { >> return cljs.core.Vector.fromArray([a, b]); >> } >> > >> ClojureScript:cljs.user> (def foo-m (memoize foo)) >> #< >> function (var_args) { >> var args = null; >> if (goog.isDef(var_args)) { >> args = >> cljs.core.array_seq(Array.prototype.slice.call(arguments, 0), 0); >> } >> return G__4512__delegate.call(this, args); >> } >> > >> ClojureScript:cljs.user> (def bar-m (memoize bar)) >> #< >> function (var_args) { >> var args = null; >> if (goog.isDef(var_args)) { >> args = >> cljs.core.array_seq(Array.prototype.slice.call(arguments, 0), 0); >> } >> return G__4512__delegate.call(this, args); >> } >> > >> ClojureScript:cljs.user> (foo 1) >> 1 >> ClojureScript:cljs.user> (foo-m 1) >> 1 >> ClojureScript:cljs.user> (bar 1 2) >> [1 2] >> ClojureScript:cljs.user> >> (bar-m 1 2) >> "Error evaluating:" (bar-m 1 2) :as "cljs.user.bar_m.call(null,1,2); >> \n" >> org.mozilla.javascript.JavaScriptException: Error: Index out of bounds >> (cljs/core.cljs#974) >> at cljs/core.cljs:974 (anonymous) >> at cljs/core.cljs:991 (anonymous) >> at cljs/core.cljs:115 (anonymous) >> at cljs/core.cljs:161 (anonymous) >> at cljs/core.cljs:319 (anonymous) >> at cljs/core.cljs:338 (anonymous) >> at cljs/core.cljs:307 (anonymous) >> at cljs/core.cljs:314 (anonymous) >> at cljs/core.cljs:181 (anonymous) >> at cljs/core.cljs:204 (anonymous) >> at cljs/core.cljs:733 (anonymous) >> at cljs/core.cljs:740 (anonymous) >> at cljs/core.cljs:1035 (hash_coll) >> at cljs/core.cljs:296 (anonymous) >> at cljs/core.cljs:158 (_hash) >> at cljs/core.cljs:525 (hash) >> at cljs/core.cljs:2167 (anonymous) >> at cljs/core.cljs:148 (_assoc) >> at cljs/core.cljs:472 (anonymous) >> at cljs/core.cljs:519 (anonymous) >> at cljs/core.cljs:2191 (anonymous) >> at cljs/core.cljs:2207 (anonymous) >> at cljs/core.cljs:2100 (anonymous) >> at cljs/core.cljs:148 (_assoc) >> at cljs/core.cljs:472 (anonymous) >> at cljs/core.cljs:519 (anonymous) >> at cljs/core.cljs:2841 (anonymous) >> at cljs/core.cljs:2878 (anonymous) >> at cljs/core.cljs:3013 (anonymous) >> at cljs/core.cljs:3022 (anonymous) >> at <cljs repl>:9 (anonymous) >> at <cljs repl>:9 >> >> nil >> ClojureScript:cljs.user> >> >> -- >> 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