This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-04-14
Channels
- # beginners (53)
- # boot (93)
- # cider (13)
- # cljs-dev (17)
- # cljsrn (20)
- # clojars (1)
- # clojure (349)
- # clojure-austin (1)
- # clojure-gamedev (5)
- # clojure-italy (1)
- # clojure-nl (16)
- # clojure-poland (1)
- # clojure-russia (26)
- # clojure-spec (57)
- # clojure-uk (6)
- # clojurebridge (5)
- # clojurescript (145)
- # code-reviews (2)
- # core-async (88)
- # cursive (1)
- # datomic (3)
- # defnpodcast (10)
- # events (7)
- # hoplon (20)
- # instaparse (1)
- # jobs-discuss (15)
- # keechma (26)
- # lein-figwheel (2)
- # leiningen (1)
- # liberator (11)
- # lumo (40)
- # off-topic (54)
- # om (32)
- # onyx (11)
- # pedestal (6)
- # perun (4)
- # planck (6)
- # re-frame (4)
- # reagent (12)
- # ring (3)
- # ring-swagger (10)
- # rum (1)
- # testing (4)
- # timbre (1)
- # unrepl (20)
- # untangled (111)
- # vim (1)
what we really need are weak references, which appears to be something the browser devs are unwilling to allow to happen
you really need weak references to make certain kinds of data structures work well with GC
it might happen in the future tho
there is a massive thread on es-discuss about it that fires up from time to time
the reasons against are technically interesting, related to security and a technique called jit spraying
the idea is that the value can be garbage collected whenever the key can be garbage collected
but this is not so useful, because it means that you must not keep references to the keys in the map
without references to the keys in the map you cannot do things like enumerate the keys of the map
function new_weak_map() { return uuid.generate(); }
function assoc(weakmap, k, v) { k[weakmap] = v; }
function get(weakmap, k) { return k[weakmap]; }
# emacs
#.bootignore controls construction of the initial boot-fileset. Files matching the regexes in .bootignore will be excluded. For example, to ignore emacs backup files, .bootignore should contain
.*~$.
# To ignore transient emacs files, add
^\.#
#and
/\.#.
Writing adzerk\boot_reload.cljs to connect to ...
Writing main.cljs.edn...
Compiling ClojureScript...
ò main.js
No such namespace: modern-cljs..#core, could not locate modern_cljs//_SHARP_core.cljs, modern_cljs//_SHARP_core.cljc, o
Closure namespace "modern-cljs..#core" in file boot\cljs\main489.cljs
Elapsed time: 0.170 sec