Christophe Rhodes has a paper on how to use *features* effectively, “Maintaining Portable Lisp Programs”.
Posted by jjwiseman at February 10, 2004 02:49 PMAn interesting article.
I just want to say that its conclusions are exactly what spurred me to write CL-ENVIRONMENT. Using it you can setup your applications in such a way to make them very portable and maintenable.
Having said that, apart from things like the reader macro #FEATURE-CASE that you can see in some code (which I personally dislike, and which, IMHO, does not solve the problem), you still cannot rely on the reader to fix things for you. You must structure your code on the file system by clearly separate the "impl-dependent" parts and wrap them in a thin wrapper.
CL-ENVIRONMENT (http://clocc.sf.net) gives you the building bricks to achieve this.