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