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

Reply via email to