unrepl 2017-12-27

SPIRAL got merged into MELPA: https://github.com/melpa/melpa/pull/5190/ 🙂 @pesterhazy I'm ready on my side to do our joined release

🎊 3
❤️ 4

@volrath: spiral’s looking really great… though I’ve noticed that sometimes it seems to crash/freeze and I can’t seem to restart it without restarting emacs.

even when I kill all the spiral buffers

@rickmoynihan hmm I haven't experienced that yet, would you be able to point out some steps to reproduce this behavior?

I can try… it seems to have happened a few times to me

when you say it freezes, do you mean the repl buffer or emacs itself?

freezes isn’t actually the right word (though I think that might have happened earlier too but could well be my emacs)… It still seems to be in the broken state… basically running spiral-connect-to says it has connected but no REPL buffer is created

and I can’t see any spiral buffers anywhere

alright, do you see something like [<host>:<port>] in your mode-line for the clj buffer you are trying to connect? or maybe a [-] (brackets should be preceded by a spiral symbol)

yes I see @[localhost:5555]

if so, you can exec C-c q (as in spiral-quit) in that buffer..

where the @ is your cute little spiral… nice touch

ok, so the problem might be that when the repl disconnected, the buffer you're using didn't "disconnect"

ok done that and I get UNREPL connection to localhost:5555 terminated

alright, try connecting again

ok that’s worked

I'll check why is it not disconnecting properly, when the REPL disconnects, all related clj buffers should unlink that connection

did you by any chance kill the REPL buffer by hand? maybe using kill-buffer or C-c C-k?

but I can’t recall

alright, maybe that was it, I'm not entirely sure I'm covering the case where the REPL buffer is killed by the user.. I'll check tomorrow for sure 🙂

thanks for letting me know!

ok I’ll try my best to break it some more 👹

One other thing I noticed which I’m guessing you know about is that (read-line) doesn’t seem to work

but I don’t really need that 🙂 was just being cruel

haha yeah, I haven't implemented anything related to unrepl's upgrade stdin/out yet

Before you undertake this task we should discuss it as I’m not sure the spec is sensible

and please do keep the bugs coming! I'm sure there might be a fair amount, the project is still very young

yeah I know 🙂 I’ve been lurking here for a while. I’m very impressed with what I’ve seen though

I’ve been trying to get my head around unrepl and tools.deps etc… I get the feeling the clojure tooling landscape is going to evolve a bit over the next few years

I really love the elisions in unrepl; and the support for that in spiral is great

I’m curious what the big philosophical differences are to nREPL though… Obviously upgrading via a socket repl (though I get the impression nREPL could probably be made to do that too)

I’ve seen a bit about a REPL as stream vs nREPL as message-based… I’m guessing that’s the main difference but not really sure what it means in practice

you can maybe check out this talk: https://www.youtube.com/watch?v=2P-UzXksdHs, it's about unrepl and unravel, around 23:10 you get a summary of differences between nrepl and unrepl, and also core ideas in unrepl design.

this one is also pretty useful: https://vimeo.com/223309989

Yes saw those talks a while ago… will watch them both again for a refresher

thanks for the pointer

and I think we could do a better job explaining what you are asking about unrepl, I've thought on blogging about it for quite a while, but I've been dedicating all my free time to spiral for now. It's definitely something that worth the time though

yeah there’s never enough time 🙂

yep, that's true

thanks for the link — will read — watching the video again 🙂