This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-08-07
Channels
- # announcements (10)
- # babashka (11)
- # beginners (69)
- # calva (1)
- # cider (2)
- # clj-kondo (35)
- # cljdoc (48)
- # cljs-dev (3)
- # clojure (60)
- # clojurescript (10)
- # community-development (6)
- # cursive (4)
- # datahike (1)
- # datalog (33)
- # deps-new (2)
- # depstar (8)
- # docker (24)
- # fulcro (1)
- # graphql (4)
- # honeysql (5)
- # java (2)
- # leiningen (2)
- # missionary (3)
- # off-topic (104)
- # pedestal (8)
- # polylith (18)
- # portkey (3)
- # reagent (7)
- # reveal (1)
- # rewrite-clj (4)
- # shadow-cljs (19)
- # specter (3)
- # tools-deps (2)
I really doubt myself but I think there's a memory leak in hash-map
.
The code is unchanged since 2012 so this may not be a problem, but filed an issue anyway.
https://clojure.atlassian.net/browse/CLJS-3319
In SCI (a Clojure/Script) interpreter I have a similar implementation of vars as in CLJS, but they are part of the runtime (not compiled away). I'm running into a problem that when going through the var object, it seems you can't pass more than 20 arguments due to a limitation in protocols. I can reproduce this with the CLJS var impl (not only with planck, also with CLJS newest on Node.js)
$ plk
ClojureScript 1.10.597
cljs.user=> (defn foo [& args] (count args))
#'cljs.user/foo
cljs.user=> (#'foo 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 1 2 3 4 5 6 7 8)
Execution error (Error) at (<cljs repl>:1).
Invalid arity: 31
cljs.user=> (foo 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 1 2 3 4 5 6 7 8)
31