take it from someone who has been digging through the swank clojure source for the last few days, the protocol is not synchronuous. swank-clojure is completely built around async message passing (to the point where it can be difficult to trace an evaluation request and a response), and it is a mirror of the implementation of slime.el
On Mon, Mar 21, 2011 at 12:15 AM, Meikel Brandmeyer <m...@kotka.de> wrote: > Hi, > > just to drop some comments from someone who has rather heavy > requirements due to the environment he has to live with. But to re- > state what I said before: I'm a pretty extreme case and don't want to > be an obstacle for nREPL or any similar project. Nevertheless you can > learn a lot from VimClojure if you want to do async connections. > > I don't know SLIME en detail. So please correct me in case I'm saying > something terribly wrong. > > On 21 Mrz., 03:48, blais <martin.bl...@gmail.com> wrote: > >> Then you'd just be redoing Swank all over again. You'd be redesigning >> a different protocol to support the same kinds of operations. I don't >> really see the point, unless the current protocol is unsuitable >> somehow. > > There are basically two orthogonal things here. nREPL to connect to > the server and a possible common IDE backend. > > The backend has already been re-implemented by almost every Clojure > IDE out there. So getting things together should be fairly easy. > Although, I'm way behind my schedule to work on this... A common > backend would make things easier for other toolsmiths (example of the > day: bluefish). Independent of how they connect to it. > > As for the connection: Vim requires async connections and doesn't come > with a parser generator. So the SLIME/swank protocol is unsuitable in > two ways: it requires a synchronuous connection and is to complicated > to parse. > >> Where is this information? > > Chas probably refers to this: > http://dev.clojure.org/display/design/IDE+tooling+backend > >> I think you're missing my point; I understand that request/response is >> necessary for rich interaction and I understand why. What I'm saying >> above is that a dead simple option with no async support is also >> really valuable, because it is unlikely to break between versions, and >> it's already good enough for a lot of users via stdin/stdout pipes >> (i.e., inferior lisp). > > Why does a synchronuous version break less than an async one? And > besides: it's good enough for a lot of users, but it is not good > enough for me. > >> Why is swank an unsuitable protocol? > > It is too complicated to parse. It is synchronuous. > >> What are its shortcomings? > > I have to tie my project to some other project with ominous release > cycle based on random CVS (o.O) versions? No, thank you. (Ok. This is > now ranting. But it is the impression what I get from the various SLIME > +swank+emacs+doesn't work threads on this list.) > >> What features that it doesn't support require redesigning another >> protocol? > > Stated several times now. > >> Swank just transfers LISP data. > > Sure. But I don't want to transfer Lisp data structures. I want to > transfer Vim data structures. > > I'm not getting the idea of this whole thread. It started as some > critical feedback to some idea. Which is a Good Thing to begin with. > But now things starts going downwards. No one has to justify nREPL in > any way here. If you don't want it, don't use it. I'm happy that Chas > puts this together and I plan to support it in VimClojure hopefully > sooner than later. Swank is not an option for me for various technical > (and some non-technical) reasons. If other people are happy with it, > they should use it. Neither has to justify his choice. > > Sincerely > Meikel > > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with your > first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en -- And what is good, Phaedrus, And what is not good— Need we ask anyone to tell us these things? -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en