[asdf-devel] Make the CL syntax predictable

Robert P. Goldman rpgoldman at sift.info
Fri Mar 14 21:53:29 UTC 2014

Faré wrote:
> Robert, what do you think? Should we "just" copy-readtable and
> copy-pprint-dispatch around each action?
> Or should we try to share the tables for all files in a system?
> Should we try to have defsystem save the values of *readtable* and
> *print-pprint-dispatch*,
> while load-asd does the creation of fresh tables?
> Should systems and/or individual components have a more general
> purpose variables and variable-values slot,
> which should be passed to progv, and be initialized from an alist?

I do not think that we should address this issue in our current release

The CL spec does not, IMO, provide strong enough guidance about the use
of *READTABLE* and *PRINT-PPRINT-DISPATCH* that we can safely enforce
good behavior.

Furthermore, the language does not provide the constructs needed to
observe good hygiene, or at least not easily.  There's no readtable or
pprint-dispatch equivalent to IN-PACKAGE.  That's why, for example,
Allegro provides *named* readtables (which tcr has tried to provide in a
portable library).

Over the years, I have looked at large piles of code that modify the
current readtable or pprint-dispatch table, using the available
functions without the optional table designators.  This is not ideal
style, IMO, but I don't feel that it's the job of ASDF to fix it.

This is certainly not uncontroversial enough that we should start
pushing out a solution today.  We have enough controversy on our plate
already!  I am unable to keep up the dialog about BUILD-OP (under
whatever name) and the default code location.  We need to leave this
sleeping dog to lie for now.


More information about the asdf-devel mailing list