[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: issue SYNTACTIC-ENVIRONMENT-ACCESS, version 4
- To: Gray@dsg.csc.ti.com, dick@wheaties.ai.mit.edu
- Subject: Re: issue SYNTACTIC-ENVIRONMENT-ACCESS, version 4
- From: cperdue@Sun.COM (Cris Perdue)
- Date: Wed, 22 Mar 89 13:52:19 PST
- Cc: cl-compiler@sail.stanford.edu, cperdue@Sun.COM
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