[plt-scheme] Simultaneous syntax and value definition

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Sat Aug 3 17:28:29 EDT 2002

> From my understanding the
> wrap-everything-in-a-begin trick:
> 
> (begin
>   (define-macro ...)
>   (define ...))
> 
> won't work because a module top-level isn't a
> top-level top-level, so the begin won't vanish.

That *will* work, actually.

Although a module top-level isn't the top-level top-level, it also
flattens `begin's. (Actually, any correctly implemented definition
context will flatten `begin', including the body of a unit or of a
class).

Matthew




Posted on the users mailing list.