Alternatively (but harder I think), abstract the operations you need from the Scheme system, and have the common swank code call into the system specific implementation of the interface.
i don't think it would be harder. this is how the official slime codebase is organized, and there are major chunks of code that are shared (e.g. the entire inspector). and this kind of separation (common stuff + one file for each CL backend) is also easier to understand than a code full of cond-expand (IMHO). it's also beneficial to mimic the official organization to make it easier to follow its future changes. i asked the maintainer of swank-chicken (Nick Gasson) what he thinks about this, but no answer yet. swank-chicken is the most alive and maintained on my radar. -- attila Notice the erosion of your (digital) freedom, and do something about it! PGP: 2FA1 A9DC 9C1E BA25 A59C 963F 5D5F 45C7 DFCD 0A39 OTR XMPP: 8647EEAC EA30FEEF E1B55146 573E52EE 21B1FF06