[plt-scheme] MzLib's unitsig.ss
On Monday, January 20, 2003, at 05:37 AM, Noel Welsh wrote:
> For list-related administrative tasks:
> http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>
> --- Taylor Campbell <campbell at evdev.ath.cx> wrote:
>> Is it possible to use macros in a unit/sig?
>
> Units are run-time values. Macros are expansion-time
> values. Expansion-time occurs before run-time; hence
> units cannot export (or import) macros. However units
> can use macros defined in the enclosing module.
Just to add to this, macros _can_ be provided (a.k.a. exported) from
modules. In many ways, this is the raison d'etre of the module system.
So, if your goal is to make a single macro available in many different
pieces of code, you can place its definition in a module which is
required in all those places.
As a nice example of this, the unit and unit/sig language forms are
themselves macros, provided by the "unitsig.ss" module.
john clements