Closed jumski closed 8 years ago
I am afraid nREPL is not supported at all in Arcadia. This is mostly due to the fact that it does not run correctly in the version of Clojure Arcadia uses (ClojureCLR, not the standard ClojureJVM).
I am not familiar with vim-fireplace in particular, but if it assumes nREPL then you may be out of luck. We run our own socket REPL and the wiki explains how to use it from a variety of editors including vim.
Really interested in working with Arcadia, but using something other than VIM is a dealbreaker for me. Same for copy-pasting forms to terminal repl. Any idea if this (incomplete) port would be easy/hard to integrate https://github.com/clojure/clr.tools.nrepl ? Maybe i could invest some time into this, given a directions :)
The vimshell/vimproc solution is really just opening a shell in vim, not even close to what full integration would give (hotkeys for evaluating forms under cursor, this kind of stuff).
Cheers
@jumski fwiw you can use vim-slime to evaluate forms from vim buffers. That's what I do.
nrepl is a long way off as far as we can tell and no one is working on it. You're more than welcome to give it a shot if you want, but like @mpereira said we tend to use good integration with the shell processes instead. The sublime text and emacs integrations are solid, and people seem to get by on vim as well (not my jam, so I can't comment on it). No one copy-pastes forms :wink:.
@mpereira this is kinda middleground that could work, especially that i run vim from tmux, thank you for that suggestion!
@nasser yeah i think you scared me enough :) ill look into the nrepl only if vim-slime will not be enough for me
thank you guys!
We thought nrepl was important to have for a while, but mostly because otherwise we'd have to write our own networked repl, which turned out to be way easier than porting nrepl. nrepl's implementation seems to involve some fairly heavy hosty stuff, and anyway some of its more notable features, such as interruptible eval, are categorically unavailable to us (everything that touches the scene graph in Unity, and some things that don't, has to run on the main thread). My guess is that Ramsey will finally snap and write a better general-purpose Clojure repl for Sublime Text than Sublime Repl provides, in the meantime he and many other folk are doing fine work with it despite its warts. I use the very nice inf-clojure package for Emacs, which provides a lot of the client-side repl functionality of Cider etc, plus real Clojure Paredit in the REPL itself, and redirect it to the Arcadia repl. I gather there's some way of doing this in VIM, too. The main thing is that an editor implements the equivalent of Emacs' Inferior Lisp, that is, a wrapper around a repl shell process of some sort.
One of the lessons we've learned from Arcadia is that writing a bare-bones, slightly janky read-eval-print-loop networked repl from scratch really isn't that hard (whereas reimplementing nrepl is apparently extremely hard), and once it's in place you get wide editor support basically for free. Ramsey's quietly implemented one for Hy https://github.com/nasser/blenderhyrepl, a Clojure-like language targeting Python, that connects to Blender, and exposes itself as a shell process, thereby making Emacs integration a one-liner.
On Sun, Dec 13, 2015 at 7:57 PM, Ramsey Nasser notifications@github.com wrote:
nrepl is a long way off as far as we can tell and no one is working on it. You're more than welcome to give it a shot if you want, but like @mpereira https://github.com/mpereira said we tend to use good integration with the shell processes instead. The sublime text and emacs integrations are solid, and people seem to get by on vim as well (not my jam, so I can't comment on it). No one copy-pastes forms [image: :wink:].
— Reply to this email directly or view it on GitHub https://github.com/arcadia-unity/Arcadia/issues/147#issuecomment-164316467 .
I really appreciate your thorough explanation @timsgardner . Now I understand the reasoning for doing things how they are done. I was mainly concerned about barbarish copy pasting to repl (forgot about slime).
I totally can do with using slime. Eager to test it soon :) Cheers
Rock and roll, @jumski. Welcome to the family.
Check this out to get vim-fireplace working with arcadia https://github.com/spacepluk/arcadia.nrepl
Wow this is cool @Morantron I haven't got enough time lately but this hopefully will inspire me to test :)
I am a VIM user, using vim-fireplace, which connects to nREPL for seamless integration.
I am still a clojure beginner, and I'm confused - is there a way to connect to the Arcadia's REPL in same manner as connecting to nREPL? Can I connect vim-fireplace to it?
Really eager to code some games with it Thanks Wojtek