This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-08-09
Channels
- # admin-announcements (5)
- # architecture (8)
- # beginners (7)
- # boot (41)
- # braveandtrue (1)
- # cider (77)
- # clara (3)
- # cljs-dev (56)
- # cljsjs (7)
- # cljsrn (7)
- # clojure (44)
- # clojure-austin (3)
- # clojure-brasil (1)
- # clojure-hk (3)
- # clojure-russia (137)
- # clojure-spec (14)
- # clojure-uk (44)
- # clojurescript (33)
- # cloverage (3)
- # core-async (10)
- # css (1)
- # cursive (16)
- # datomic (116)
- # devcards (14)
- # emacs (1)
- # events (1)
- # funcool (2)
- # functionalprogramming (1)
- # hammock-driven-dev (1)
- # jobs-rus (124)
- # lein-figwheel (1)
- # leiningen (1)
- # liberator (4)
- # melbourne (3)
- # mount (73)
- # off-topic (3)
- # om (4)
- # om-next (15)
- # onyx (38)
- # other-languages (4)
- # perun (2)
- # proton (36)
- # protorepl (2)
- # random (1)
- # re-frame (56)
- # reagent (7)
- # specter (4)
- # testing (1)
- # untangled (13)
- # yada (18)
@hiredman: Throwable
is higher than Exception
so it wouldn’t get caught by the Exception
catcher?
I’m still at a loss why it keeps running though
because the little compiler in the ioc macros in core async is broken and generates bad code there
the two issues he links to are the same problem, and both of them have patches that fix it, but I am not sure if they both still apply
internally, the go macro in core.async is a compiler, it just happens that both the source and the target language are clojure. the source is regular normal looking clojure, the target is a weird state machine / callback full clojure
that compiler has to generate code to handle exceptions, which it does, but the way it does it, and the runtime support code it uses is broken
my patch ends up throwing a lot of the existing code out, the existing code has this helper that is a big cond for different exception cases, which was kind of gross and incorrect as it turns out
http://dev.clojure.org/jira/browse/ASYNC-165 is another fun issue with the core.async compiler, but only on the clojurescript side (last I checked)