This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-01-19
Channels
- # adventofcode (4)
- # beginners (80)
- # boot (4)
- # cbus (2)
- # cider (62)
- # clara (18)
- # cljs-dev (8)
- # cljsrn (10)
- # clojure (139)
- # clojure-brasil (3)
- # clojure-dev (27)
- # clojure-italy (1)
- # clojure-russia (3)
- # clojure-spec (4)
- # clojure-uk (47)
- # clojurescript (102)
- # core-async (10)
- # cursive (7)
- # datomic (71)
- # emacs (32)
- # fulcro (99)
- # funcool (1)
- # hoplon (3)
- # jobs (1)
- # jobs-discuss (6)
- # jobs_rus (2)
- # leiningen (3)
- # luminus (2)
- # lumo (14)
- # mount (7)
- # off-topic (19)
- # re-frame (25)
- # ring-swagger (4)
- # rum (3)
- # shadow-cljs (142)
- # specter (2)
- # sql (16)
- # timbre (1)
- # vim (3)
I never submitted the revisions in Andare back to core.async
proper because they were fairly “heavy”. There is nothing fundamentally wrong with the changes, and they preserve behavior for non-self-host use. They seems to have withstood the test of time and proven to be reliable. But—it would be a decent volume of code change for the core.async
maintainers to decide they are willing to merge in.
Since @alexmiller asked, the salient of the changes are in this commit, but it is near impossible to see what they are because of the need to convert to .cljc
https://github.com/mfikes/andare/commit/9419fa02f49c293f90da80bb62134e5f2aed94ea
My overall recollection of the changes was that they largely involved code rearrangement so that macro namespace loading would work properly in self-hosted ClojureScript. If I had to guess, David Nolen would likely be heavily involved in reviewing the changes.
I think it would be great if core.async
proper targeted self-hosted, but my presumption so far has been that there wouldn’t be enough interest on the part of the core.async
maintainers to take on the burden of targeting self-hosted ClojureScript.
@djwhitt Yeah... Andare preserves the public-facing API of core.async
, so I suppose it could break code that depends on private core.async
internals. If Promesa could depend only on the public API, then Andare could be an optional drop-in for those users that wish to use it in self-hosted ClojureScript.
@mfikes Agreed, that would be best. Unfortunately, Promesa is using the core.async ioc stuff in its own macros: https://github.com/funcool/promesa/blob/master/src/promesa/async_cljs.cljc
Well, unfortunate in terms of this dependency issue. It's providing nice functionality with it. 🙂
well not of that seems objectionable in intent. as you surmised, dnolen would need to be heavily involved in anything like that so I will leave it up to him :)
FWIW, this subject has come up in the past https://groups.google.com/d/msg/clojurescript/kTs3G8DabDY/6fK_HIMdBAAJ
@djwhitt Also, FWIW, I see no problem with aligning Andare's internals with core.async
proper, if it is technically feasible.
Something else to explore would be the moving of the IOC macro into the CLJS compiler
A lot of the complexity of the macro could be removed, but that would involve adding a feature to CLJS that doesn’t exit in CLJ