joker 2019-07-31

Would adding pmap be going too far? It would require future.

Hmm, offhand, I think it requires threads to be useful, and Joker's biz logic (versus underlying Go runtime) is single-threaded. So it wouldn't be of much use then...if I'm right?

An example use case; our tool gets information from a server, sending about 20 requests one at a time. There's no reason why we couldn't have a separate thread for each request so they could be in parallel.

So I may be looking for some specific use cases, but not something general purpose as in Clojure for JVM.

can go channels be used from joker?

Not that I know of; but go channels could easily be part of an implementation.

Joker is currently single threaded. Supporting concurrency and/or parallelism in any form is a pretty big effort. It's also an interesting technical problem, so I might tackle it at some point soon. Any ideas on the implementation are welcome 🙂

the use case Howard presented is really appealing though...

I made a small interpreter for Clojure which works with GraalVM. It calls directly into Clojure and pmap works over there:

$ bb '(pmap #(-> (csh "curl" "(link: ) ") :out (subs 0 10)) (range 5))'
("<!DOCTYPE " "<!DOCTYPE " "<!DOCTYPE " "<!DOCTYPE " "<!DOCTYPE ")

so maybe, if you want, you can call this tool as a shell command from joker. It spits out EDN by default, so you can parse that back in

@raymond.w.ko has joined the channel