cperdue%clam@Sun.COM (Cris Perdue) (02/02/90)
Dan, It is possible in principle to make small Common Lisp applications by using just part of the language, but there is a problem. Common Lisp defines no layers, so it is impossible to decide which parts of the language can be avoided to reduce the size of an application. I believe that most implementations are rather intertwined: support for one language feature tends to rely on more of the rest of the language than one might imagine. Many of these dependencies can be eliminated if need be, and if we know which ones to eliminate. One big advantage of Scheme is that the base language is such a layer. Also, when one uses a language plus a set of libraries, it is usually possible to find out the dependencies among the libraries and to find out what features require large amounts of runtime support. This is in addition to the benefits Scheme provides by not carrying around a lot of features for backward compatibility. The implementations become smaller and the language becomes intellectually simpler and cleaner.