Fork me on GitHub
#conjure
<
2020-05-23
>
pyrmont09:05:26

@olical Are there any advantages to having a proper nREPL client over what you've put together for Janet?

Olical15:05:24

Nope, not really. nREPL is a solution that works well in the Clojure ecosystem. It's the system that all tool authors have congregated on which is the main reason I'm interested in it, adoption and support.

Olical15:05:54

If I could perform some completion or symbol lookup with a library if it was installed via evaluating Janet code I'd be happy really.

Olical15:05:13

No need for nREPL, just need a nice way to evaluate things and perform some sort of meta calls.

Olical15:05:08

However, if there was an nREPL server I suppose I could refactor the Clojure nREPL support out into a reusable module (although there's reaaaaly not much to it other than the bencode library.

pyrmont16:05:29

Hmmm. Yeah, that's kind of what I was wondering. I was interested in building an nREPL client in Janet (and started with a bencode library) but it was really just for Conjure and what's there now seems to work pretty well. I imagine there must be some sort of way to do completion at the very least because Janet's command line REPL has that by default so maybe it's just a case of working out how that's accomplished and shamelessly copying the code into a library.

Olical16:05:34

Oh it does!? Yeah, if there's a function that returns a list of results (separated by newline or something) then we can definitely hook autocomplete up into Conjure too 😄

Olical16:05:52

But yeah, nREPL isn't required for that. nREPL isn't the special sauce, it's the ecosystem that builds around it.

Olical16:05:24

If Janet builds around netrepl and everything works through function calls (my preference, it's prepl like and I like it) then netrepl is more than enough.

pyrmont16:05:24

Well, I should caution I am talking somewhat out of my arse (read: entirely out of my arse). I'm just extrapolating from the fact you can hit tab to autocomplete stuff.

Olical16:05:46

I think nREPL is neat when you have multiple language types within one REPL like CLJS and CLJ that have their own quirks. We don't really have that problem here.

Olical16:05:16

Might be worth chasing up with people on the Janet chat though! Would be awesome.

pyrmont16:05:23

Just gotta track down how it's doing it.

nate17:05:38

log.botright? works well for me, thanks for adding this!