This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-02-06
Channels
- # announcements (58)
- # babashka (43)
- # babashka-sci-dev (22)
- # beginners (8)
- # biff (8)
- # calva (62)
- # circleci (3)
- # clerk (6)
- # clj-kondo (27)
- # cljsrn (9)
- # clojure (61)
- # clojure-austin (4)
- # clojure-conj (3)
- # clojure-europe (11)
- # clojure-losangeles (2)
- # clojure-nl (2)
- # clojure-norway (4)
- # clojure-spain (5)
- # clojure-uk (2)
- # clojurescript (51)
- # data-science (1)
- # datascript (4)
- # emacs (33)
- # events (14)
- # funcool (14)
- # gratitude (13)
- # introduce-yourself (1)
- # jobs (9)
- # lsp (58)
- # malli (23)
- # missionary (31)
- # nextjournal (9)
- # off-topic (35)
- # proletarian (2)
- # re-frame (5)
- # remote-jobs (7)
- # shadow-cljs (2)
- # spacemacs (7)
- # sql (26)
- # testing (12)
- # vim (1)
- # web-security (3)
- # xtdb (2)
my main idea is adding the ability to close channel with an error and an additional option or specific exception handler that leaves the user the option to close the channel with an error when the error is happening on the provided transducer. This also will make blocking take operations throw the exception and nonblocking returning rejected promise
that's the direction i was thinking in too
hmm - i have an issue with CSP stream transducers - looks like the finaliser arity is not getting called, which is causing some data to sometimes go missing with stateful transducers ... will investigate further
my test passes if i remove the (zero? (mlist/size @puts))
clause so that (add-fn buf)
(which is the finaliser arity of any transducer) is always called on close!
when there is a buffer ...
https://github.com/funcool/promesa/blob/master/src/promesa/exec/csp/channel.cljc#L333
what does that clause guard against ? i'm not yet sure of the consequences of removing it or changing it...
that looks like legacy, when I have initially look on how core.async worked, because of the other topic we have talked previously: core.async does not clears the put queue. So this looks like a bug, and this condition should be removed
yep - bug goes away when that bad clause is removed
cool - dyu want me to do a PR ?
here u go - clj CI is broken, but it's broken on trunk too https://github.com/funcool/promesa/pull/135