This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-05-16
Channels
- # architecture (12)
- # aws (8)
- # bangalore-clj (1)
- # beginners (172)
- # boot (25)
- # chestnut (3)
- # cider (15)
- # cljsrn (5)
- # clojure (170)
- # clojure-india (1)
- # clojure-italy (21)
- # clojure-nl (87)
- # clojure-romania (3)
- # clojure-sg (1)
- # clojure-spec (1)
- # clojure-uk (79)
- # clojurescript (79)
- # cursive (2)
- # datomic (29)
- # dirac (26)
- # emacs (7)
- # fulcro (13)
- # jobs (4)
- # juxt (22)
- # lein-figwheel (1)
- # leiningen (2)
- # lumo (39)
- # nrepl (1)
- # off-topic (54)
- # onyx (124)
- # pedestal (1)
- # planck (4)
- # portkey (1)
- # re-frame (36)
- # reagent (2)
- # ring-swagger (8)
- # shadow-cljs (107)
- # spacemacs (1)
- # specter (25)
- # sql (7)
- # tools-deps (5)
- # vim (10)
- # yada (25)
@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.
Ah ah no problem ;)
Still worth reading that answer
Also, I'm finishing up a short set of examples in my async forks and then I'll be putting up a PR.
Oh great!
Which you can see here, if you're interested https://github.com/futuro/abio-node/blob/async-io/examples/walkthrough.cljs
I see what you mean there, the Clojure core namespaces do not have async functions at all right?
I guess having different names from core makes sense for async funcs
They also have different kinds of streams and readers and writers, which are defined by the host.
My current approach is to have a single protocol method that can do both sync and sync, depending on arity.
I was thinking earlier that in the lumo tests it would be great to replace all the
with the abio slurps
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.
As sanity check 😄
Gotcha
Lumo tests are doing all sorts of io btw and we basically use node directly
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).
For example, I called the two records BufferedReader
and BufferedWriter
, but I don't think Node has an unbuffered reader or writer.
Yeah streams I guess are close to that, but I am not a node super expert as well
With nRepl now out of contributors I am starting to eye a possible lumo nRepl server
Sorry autocomplete
Out of clojure.contrib
It's now in clojure-emacs
So easier to contribute to
I'm really curious if there's efforts to port cider and friends to be self-hosted compatible.
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
Abio will be very helpful with that
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
?
None, I just want to add var
to lumo
and I need some time to fix the error I found in some tests
But there is no IO in there so it's relatively easy
the patch is here in WIP if you are curious https://github.com/clojure-emacs/cljs-tooling/pull/24