I think it is time that we factorize out swank's low level rpc layer into a new swank-rpc module that deals with how events are encoded and passed between the client and server.
I have enclosed a draft of a new swank-rpc module for the project. Almost all of the code is extracted directly from the swank.lisp file of the slime-2010-01-15 distribution. It can be included with no disruption to SLIME.
The module act as a specification of the event passing protocol, facilitating alternative swank implementations such as on clojure and scheme. It can optionally validate the input to ensure that the events are consistent with the protocol.
As the swank event passing protocol is orthogonal, Common Lisp swank clients like MCLIDE can share the swank-rpc module with the project instead of duplicating the code.
-- Terje Norderhaug terje@in-progress.com