[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: several hundred ugly things
- To: Jim McDonald <jlm@lucid.com>
- Subject: Re: several hundred ugly things
- From: Scott.Fahlman@B.GP.CS.CMU.EDU
- Date: Fri, 07 Oct 88 23:24:07 EDT
- Cc: masinter.pa@Xerox.COM, CL-Cleanup@SAIL.STANFORD.EDU
- In-reply-to: Your message of Fri, 07 Oct 88 12:09:20 -0700. <8810071909.AA01126@bhopal>
... You develop your program using whatever parts of the full
language you need, then compile in a way that trims away anything that
wasn't used. This creates a subset of Common Lisp that exactly fits the
needs of the application in question. A simple version of this is trivial
to implement in any system that has a copying GC; ...
If only that were true. For example, a routine that uses + implicitly
uses bignums and complex numbers, plus ERROR to handle problems like
(+ 'a '(foo)). Bignums require GC. ERROR uses FORMAT, READ, and
EVAL. FORMAT uses..., and pretty soon you've got the kitchen sink
again.
Well, in addition to just depending on the GC, you probably also want to
give the user some way of declaring that his application doesn't use
certain features such as bignums, complexes, floating point, the error
system (just terminate instead), circular printing, or whatever. The point
I'm trying to make is that you shouldn't try to impose a single subset on
everyone, but should allow each user to select the subset he needs.
-- Scott