Clojurians
#lumo
<
2018-05-16
>

This page is not created by, affiliated with, or supported by Slack Technologies, Inc.

futuro15:05:55

@richiardiandrea A current goal for the project is to be a drop-in replacement for most of the ways you deal with IO via , though there are some JVM assumptions about the way deals with things, so that goal might not be tenable, ultimately.

futuro15:05:18

Oh, sorry, I see that wasn't a question now.

richiardiandrea15:05:28

Ah ah no problem ;)

richiardiandrea15:05:39

Still worth reading that answer

futuro15:05:40

Also, I'm finishing up a short set of examples in my async forks and then I'll be putting up a PR.

richiardiandrea15:05:52

I see what you mean there, the Clojure core namespaces do not have async functions at all right?

futuro15:05:43

Yeah, they rely implicitly on the consumer of the library to handle async desires.

richiardiandrea15:05:08

I guess having different names from core makes sense for async funcs

futuro15:05:10

They also have different kinds of streams and readers and writers, which are defined by the host.

futuro15:05:16

My current approach is to have a single protocol method that can do both sync and sync, depending on arity.

richiardiandrea15:05:52

I was thinking earlier that in the lumo tests it would be great to replace all the with the abio slurps

futuro15:05:55

F.e., https://github.com/futuro/abio-node/blob/async-io/src/abio/node/io.cljs#L9 that's the definition of a reader, and -read takes either no arguments or one argument, that being the callback to run.

richiardiandrea15:05:02

As sanity check :smile:

futuro15:05:41

Ha, that'd be pretty neat.

richiardiandrea15:05:06

Lumo tests are doing all sorts of io btw and we basically use node directly

futuro15:05:26

It's been interesting learning from the code while also trying to piece apart the things that don't make sense for CLJS (or, at least, for Node).

futuro15:05:51

For example, I called the two records BufferedReader and BufferedWriter, but I don't think Node has an unbuffered reader or writer.

futuro15:05:59

Maybe streams, but I can't recall right now.

richiardiandrea15:05:31

Yeah streams I guess are close to that, but I am not a node super expert as well

richiardiandrea15:05:42

With nRepl now out of contributors I am starting to eye a possible lumo nRepl server

futuro15:05:58

"out of contributors"?

richiardiandrea15:05:24

Sorry autocomplete

richiardiandrea15:05:36

Out of clojure.contrib

richiardiandrea15:05:04

It's now in clojure-emacs

richiardiandrea15:05:29

So easier to contribute to

futuro15:05:15

I'm really curious if there's efforts to port cider and friends to be self-hosted compatible.

richiardiandrea15:05:59

Well, I am the one carrying that flag, I am working on a PR for cljs-tooling now, there is a lot of work to do though

richiardiandrea15:05:28

Abio will be very helpful with that

futuro15:05:33

I know when I was researching the nRepl, I found that threading and host specific IO were the two biggest hurdles. What hurdles have you encountered so far with cljs-tooling?

richiardiandrea15:05:30

None, I just want to add var to lumo and I need some time to fix the error I found in some tests

richiardiandrea15:05:47

But there is no IO in there so it's relatively easy

futuro16:05:57

Neat, thank you :slightly_smiling_face: