[asdf-devel] Make the CL syntax predictable

Robert P. Goldman rpgoldman at sift.info
Sun Mar 16 15:18:02 UTC 2014


1.  A clear proposal for this modification be made.  Right now the
details of the proposed modification are wrapped in a fairly opaque
discussion.  The discussion is framed in terms that are either too vague
"Make the CL syntax predictable" or too specific -- very particular
proposals about how variables will be bound.  By now the discussion is
also "protected by volume" against people who want to join the
discussion, but weren't parts of it from the beginning.

2.  The proposed change should be modified to operate only in a "strict
mode", allowing existing legal CL code to continue to work.  I propose
that individual systems be allowed to proclaim that they should be
operated on in strict mode, or cannot be used in strict mode.

"strict mode" would be available as a local declaration: a system could
specify that it should be compiled and loaded with readtable hygiene,
and that would *always* happen when it is operated on.

The library user would also be allowed to specify a global strict mode
setting, and this setting would be applied in some way like the
following (this is a tentative proposal):

a.  systems that do not specify strict or non-strict mode would be
compiled in strict mode if the user so specifies.  This would lead to
errors in some cases, but they would be errors that the user wants to see.

b.  If the caller specifies strict mode, it will be an error to depend
on systems that want to be compiled in non-strict mode.  This would
achieve the safety that you wish to see.

3.  Getting this right will require much testing and experimentation.
It will not appear in the next ASDF release.


More information about the asdf-devel mailing list