On Dec 19, 2010, at 10:46 AM, Daniel Herring wrote:
On Sun, 19 Dec 2010, Scott McKay wrote:
On Dec 17, 2010, at 4:57 PM, aerique@xs4all.nl wrote:
On 17 dec 2010, at 22:15, Eli Naeher enaeher@gmail.com wrote:
Right now I usually have (under screen) one instance of Emacs for personal projects (for which I try to use the latest Slime and Swank) and one for work (where they do not get updated so frequently), and sometimes I need to start a third instance if I am doing work on an older maintenance branch of the software. It seems like there should be a way to switch between Slime versions within the same running Emacs, but I have yet to figure it out.
Not a direct question to Eli, but why is Slime so version specific anyway?
Ya have to wonder if Slime/Swank should be used Protocol Buffers or Thrift to do their RPC. These both support versioned protocols, and it would be great to have a CL binding to Protocol Buffers.
As I understand it, the wire protocol is generally the stable part of Slime. The RPC aspects (what the server commands do) is what has deep implications and changes frequently.
But what I am saying is, use something that supports versioned wire protocols, and instead of willy-nilly changing the existing API frequently, change it in constrained ways, increment a version number, and use a new version of the wire protocol.
Yes, it's work.
[aside] Protocol buffers are an unnecessarily complicated reinvention of the wheel. If the big G wasn't using them, everyone would be using one of the preexisting formats (e.g. XDR). See MapReduce for a related theme. IMO, a binding to Apache Camel or OpenSplice DDS would be much more interesting.
- Daniel