[slimpl] How to help Slimpl
Larry Clapp
larry at theclapp.org
Fri Feb 24 10:57:06 CST 2006
On Fri, Feb 24, 2006 at 07:55:48PM +0500, Dmitry Petukhov wrote:
> 2006/2/24, Larry Clapp <larry at theclapp.org>:
> > In another thread, also about the event issue, I said we could
> > just use all synchronous calls for the moment, and someone
> > objected (paraphrasing from memory), "What about when the debugger
> > pops up?" I don't think that that, in and of itself, presents a
> > problem. In general, you send an expression to Lisp, and it
> > either sends back a result or sends back a debug sequence. It
> > doesn't just "pop up", as near as I can tell.
>
> I said about 'debugger pops up'. It actually pops up when you write
> UncommonWeb app, and an error occurs while you interacting with your
> web application.
Okay, I'll keep that in mind.
> > The whole asynchronous calls thing only really comes up if you
> > have an expression that takes a long time to run, or "never
> > returns", like if you start a web server and only want it to come
> > back if it raises an error. Maybe I can create a
> > "pseudo-synchronous" call, where I wait for a second for the
> > result, and then transform it to an asynchronous call. Or
> > something like that.
>
> When we can do async call, why even use synchronous ?
Well, keep in mind, I'm not saying synchronous *forever*, just *now*.
Nothing says we can't refine our approach once we get some basic
functionality working.
> But unfortunately, we don't have a decent mechanism for async call.
> I'm thinking of a separate process what sits between slime and
> slimpl and alert slimpl on events.
I guess that'd work; I don't think I understood before. You want
Vim <-> X <-> swank
where X functions strictly as a passthrough, and also prods Vim via
the server interface whenever it gets something from Swank. Have I
got that right?
> I'll try to get a time to actually implement this, then we will see
> how practical it is. Need to dig more into slime code first, because
> i don't see where the rest of input data is discarded when large
> slime request is aborted in the middle.
I don't think Slime or Swank discard any data; I don't think such a
thing exists as "aborting in the middle". Slime sends Swank a
complete request; Swank reads all of it as a string, and then does
read-from-string on it. Swank doesn't throw anything away in the
sense of "aborting in mid-receive". But maybe I've misunderstood you.
-- Larry
More information about the slimpl
mailing list