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

Reply via email to