<companion_cube>
Haven't looked in a while but isn't there a pipe option?
malte has joined #ocaml
Tuplanolla has quit [Quit: Leaving.]
<dmbaturin>
companion_cube: I have a moonpool question. Suppose I have a list of 100 file names and I want, WLOG, two threads to read them in parallel. If I wrap the reading function into `spawn`, do I need to do anything special about the IO functions, or stock functions from Sys/Unix are fine to use? I'm sorry if this a stupid question, I'm still trying to build a mental model of the multicore runtime in general.
<dmbaturin>
The parallel for from domainslib is not safe to use that way, it led to unhandled effect errors when I tried.
<companion_cube>
It'll be just fine if you use the blocking IO API
<companion_cube>
I mean I'd make a pool and dispatch one task per file
<companion_cube>
Possibly a parallel map, even
<dmbaturin>
Possibly even dumber question. Is there a specific reason why there's no ready to use `'a list -> 'b list` parallel map there in moonpool? Or there actually is and I'm missing it?
<companion_cube>
Iirc there's one in the Fut module
<companion_cube>
Not exactly that signature though, but with ocaml 5 you can also just do a List.map with spawn inside, followed by a List.map with await
<dmbaturin>
Oh, `Fut.map_list`.
<companion_cube>
But also, really, two successive List.map can do
<companion_cube>
That's the beauty of await
<companion_cube>
(it just means the `List.map await futures` has to run in a effect-handling context)
Haudegen has quit [Quit: Bin weg.]
cedb has quit [Ping timeout: 248 seconds]
ygrek has joined #ocaml
tomku has quit [Ping timeout: 245 seconds]
tomku has joined #ocaml
LainExperiments has joined #ocaml
LainExperiments has quit [Quit: Client closed]
LainExperiments has joined #ocaml
LainExperiments3 has joined #ocaml
LainExperiments has quit [Ping timeout: 240 seconds]
ygrek has quit [Remote host closed the connection]
LainExperiments3 has quit [Quit: Client closed]
LainExperiments has joined #ocaml
pi3ce has quit [Ping timeout: 244 seconds]
LainExperiments has quit [Ping timeout: 240 seconds]
LainExperiments4 has joined #ocaml
pi3ce has joined #ocaml
LainExperiments4 has quit [Ping timeout: 240 seconds]
LainExperiments has joined #ocaml
agentcasey has quit [Read error: Connection reset by peer]
agentcasey has joined #ocaml
YuGiOhJCJ has quit [Quit: YuGiOhJCJ]
LainExperiments has quit [Ping timeout: 240 seconds]
LainExperiments has joined #ocaml
LainExperiments has quit [Quit: Client closed]
bartholin has joined #ocaml
Haudegen has joined #ocaml
rak has quit [Quit: Segmentation fault (core recycled)]
rak has joined #ocaml
bartholin has quit [Quit: Leaving]
semarie has quit [Ping timeout: 245 seconds]
semarie has joined #ocaml
dhil has joined #ocaml
bartholin has joined #ocaml
tremon has joined #ocaml
malte has quit [Ping timeout: 244 seconds]
Haudegen has quit [Quit: Bin weg.]
malte has joined #ocaml
malte has quit [Ping timeout: 248 seconds]
malte has joined #ocaml
Haudegen has joined #ocaml
malte has quit [Ping timeout: 260 seconds]
malte has joined #ocaml
malte has quit [Ping timeout: 252 seconds]
malte has joined #ocaml
malte has quit [Ping timeout: 252 seconds]
malte has joined #ocaml
malte has quit [Ping timeout: 260 seconds]
malte has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
euphores has quit [Quit: Leaving.]
euphores has joined #ocaml
Anarchos has joined #ocaml
malte has quit [Remote host closed the connection]
malte has joined #ocaml
Serpent7776 has joined #ocaml
Haudegen has joined #ocaml
euphores has quit [Remote host closed the connection]
euphores has joined #ocaml
malte has quit [Ping timeout: 268 seconds]
malte has joined #ocaml
malte has quit [Ping timeout: 244 seconds]
tomku has quit [Ping timeout: 252 seconds]
tomku has joined #ocaml
Tuplanolla has joined #ocaml
dhil has quit [Ping timeout: 248 seconds]
Anarchos has quit [Quit: Vision[]: i've been blurred!]
agentcasey has quit [Ping timeout: 252 seconds]
agentcasey has joined #ocaml
malte has joined #ocaml
malte has quit [Remote host closed the connection]
malte has joined #ocaml
<discocaml>
<dubious245> Just wanted to vent but why does this research papers and all its implementation all insist on naming everying like (i, j) (i2,j2) (i1, j1) (i3,j3) (i4,j4)
<discocaml>
<dubious245>
<discocaml>
<dubious245> I spent half the day reading this paper and its implementation to figure out what its doing with all this i1, j1 = i2, j3 and j2, j2 = i4, j4.
malte has quit [Remote host closed the connection]
chiselfuse has quit [Remote host closed the connection]
chiselfuse has joined #ocaml
malte has joined #ocaml
malte has quit [Remote host closed the connection]