This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-06-09
Channels
- # aleph (4)
- # arachne (3)
- # beginners (41)
- # boot (300)
- # cider (17)
- # cljs-dev (37)
- # cljsjs (4)
- # cljsrn (5)
- # clojure (249)
- # clojure-boston (3)
- # clojure-czech (4)
- # clojure-dev (14)
- # clojure-greece (183)
- # clojure-nl (2)
- # clojure-russia (11)
- # clojure-spec (135)
- # clojure-uk (37)
- # clojurescript (56)
- # community-development (8)
- # cursive (22)
- # data-science (4)
- # datomic (150)
- # devcards (6)
- # emacs (5)
- # euroclojure (8)
- # funcool (18)
- # hoplon (29)
- # immutant (1)
- # jobs (1)
- # lambdaisland (3)
- # lein-figwheel (7)
- # leiningen (18)
- # mount (1)
- # om (81)
- # onyx (95)
- # planck (50)
- # proton (6)
- # re-frame (62)
- # reagent (2)
- # ring (1)
- # robots (1)
- # spacemacs (2)
- # specter (88)
- # test-check (32)
- # untangled (23)
- # yada (1)
@mac re: printing datastructures - take a look at https://github.com/noprompt/shodan#inspection
and example output: http://i.stack.imgur.com/ikJXW.png
@micha regarding weak references in js - which javascript version is hoplon aiming at? es6 provides WeakMap
and WeakSet
. Would that work for storing listeners/watchers in the cells?
re: GCing cells I've already mentioned it here, but now I'm talking having more experience of using that stuff in production https://github.com/ul/carbon/blob/master/src/carbon/rx.cljs — most cases of cells GC needs are covered by triggering cleanup after changes propagation and watch removal. If formula has no sinks and watches, then detach it from its sources and it becomes available for GCing by JS.
We use dynamic reactive expressions w/o much care and had no memory leaks for some time (after the last significant bug in propagation/cleaning subsystem was fixed)
@piotrek: we need a weak ref ideally, weak set and weak map not ideal since you can't traverse them. They're really only useful for caches
Unfortunately it's unlikely we'll ever get them in JS because weak refs reveal information about memory that could be used to exploit JS vm, see jit splay
@ul: interesting. Does that mean anonymous cells for effect can disappear?
Eg (cell= (println foo)) at top level
i’m also thinking it might make sense to enhance the page macro so the user can specify whether to :refer :all
of the element constructors, or in my case, the hoplon ui constructors
i get bitten by the injection of the html element functions more often than i’d like
Is anyone playing around with front end templating (or template engine) in their hoplon app?
hmmm I guess the html->hl task kinda does this
@alandipert: yes, exactly. but i've found that it is not a problem, because anonymous top-level is always special case, so you can just add-watch or even make nice macro for that
the same reactive expressions system as in carbon is in ampere https://github.com/condense/ampere which is view-agnostic implementation of re-frame architecture, built primarily to be used with Om “classic”