Fork me on GitHub
#clojure-europe
<
2023-01-18
>
Irati07:01:20

Egunon! (that's Basque for good morning) So this happened, for the first time in a couple of years (it used to snow several times a year around here, northern Spain)

❄️ 10
❤️ 6
dharrigan09:01:02

Good Morning!

thomas09:01:59

Goede morgen allemaal

schmalz09:01:24

Morning all.

mccraigmccraig10:01:23

anyone had any thoughts on dealing with errors during a transduce ? the particular problem i'm encountering is when using the transducer that manifold.stream and core.async let you provide to a stream/chan constructor ... my naive approach isn't working very well, and is leading to non-deterministic outputs - and i can see a better approach, but it will be a bit inefficient (an extra layer of stream/chan) ... but maybe i'm missing something ?

teodorlu12:01:06

perhaps model errors as data too? Rather than either returning 5 or crashing, you could return {:ok 5} or {:error "DivideBy0Error"}.

mccraigmccraig12:01:19

yeah @U3X7174KS - that's roughly my next approach - the only difficulty is that i'll need to add another layer of stream/chan to unwrap and then maybe close the downstream stream/chan... but i can't currently see any alternative

teodorlu12:01:27

modeling failure right in a concurrent context is a challenge! I don't feel like I have a good answer for that. But I often feel like starting from "it's just data" pushes me in the right direction.

💯 8
mccraigmccraig12:01:44

it's just data™

mccraigmccraig13:01:48

i've been working on bringing the cold-source async stuff i've been doing for ages on manifold to ClojureScript land ... and i'm getting there : https://github.com/yapsterapp/promisespromises

👍 6
❤️ 2
robert-stuttaford13:01:30

love the name

2
dominicm19:01:22

Did I ever try and sell you on clip? I built the manifold executor with you in mind.

mccraigmccraig19:01:05

no @U09LZR36F - i don't remember any sales pitch!

dominicm19:01:50

It's async, manifold, cljs, edn, compatible. All the things. It should support everything you might need ;)

dominicm19:01:23

I definitely built it with you in mind based on conversations we must have had many years ago now

mccraigmccraig19:01:19

where's the repo @U09LZR36F? can't find it on your gh...

mccraigmccraig19:01:25

ohhhhh, yes you did sell me on that! i didn't remember it was called clip - but i was actually looking for it a few weeks ago, 'cos it would allow me to delete some code

mccraigmccraig19:01:31

well that's good - thanks @U09LZR36F - i can delete that code now 😁 (it's actually still in the promisespromises repo, commented out... i was going to rewrite it to ditch the monad transformer in favor of an interceptor chain)

dominicm19:01:24

I'm glad to have turned up at just the right moment to help 🙂.

mccraigmccraig08:01:29

@U0509NKGK i am rubbish at project naming - this might be the single instance ever where i've come up with a good name!