[bitc-dev] CLEANUP: specification of DEFINE

Swaroop Sridhar swaroop at cs.jhu.edu
Thu Jul 17 14:29:05 CDT 2008


Jonathan S. Shapiro wrote:
> If anybody has strong objections, we need to hear them!
> 
> 
> The current specification states that the identifier(s) on the left-hand
> side of DEFINE are incomplete until the body of the DEFINE has been
> processed.
> 
> This definition is necessary for the type-defining keywords, but it is
> inconsistent with the way that other languages specify identifier
> binding. In particular, in 
> 
>   (let ((ast (f ast))) ...)
> 
> the /ast/ on the RHS is the one from the environment that *encloses* the
> LET form.

So, this change means that

(define f ...) is a let form
(define (f x) ... ) is a letrec form right?

I have no problem with this interpretation.

Swaroop.



More information about the bitc-dev mailing list