[plt-scheme] when syntax from one planet package expands to uses from another package
2009/2/28 Neil Van Dyke <neil at neilvandyke.org>:
> I'm not sure the best way to handle this...
>
> Module "SM" exports syntax "S".
> Syntax "S" sometimes expands to code that refers to procedure "P" from
> module "PM".
> Modules "SM" and "PM" are coming from two separate PLaneT packages.
>
> Should "SM" merely document that the code that imports "SM" must also
> explicitly import "PM"?
> Or should "SM" export all of "PM", and require that any code importing "SM"
> must not explicitly import "PM"?
> Or something else (such as renaming PM exports, or exporting wrappers around
> PM exports)?
Speaking very roughly, in Scheme, the scope of the expanded S is the
scope in which S is defined, not the scope in which it is used.
So, as long as SM 'require's PM, the client shouldn't have to know
anything about PM.
Henk