[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: issue SYNTACTIC-ENVIRONMENT-ACCESS, version 4



As far as I know, the main application of AUGMENT-ENVIRONMENT is
indeeed intended to be for code-walking:  cross-reference analysis,
type-analysis, code transformation, etc..  I think the objectives for
AUGMENT-ENVIRONMENT were to support this activity well.

Unfortunately, the simple definition of WALK-INTO you describe
doesn't quite work.

> WALK-INTO ENV FORM FN
> 
> FORM must be one of the key forms that alters the environment
> (i.e, let,let*,flet,macrolet,prog, etc.).  Walk-into augments its
> environment argument as FORM dictates including all declarations.  It
> then calls FN with two arguments, the body of FORM and the augmented
> environment.  

What if FORM is (lambda (x &optional (y (list x)) &aux (z (or x t)) ... )?

The scope of X is not just a body.  It is some initialization forms
and also a body.

PCL has a code walker.  It is a few hundred lines of code.  My sense
is that people are trying to design a subprimitive to make such
a code walker portable.  The entire code walker spec. might be too much
to freeze into a standard right now.

					-Cris