[PRL] disallowing shadowing
Felix S Klock II
pnkfelix at ccs.neu.edu
Sun May 29 17:35:23 EDT 2005
On May 29, 2005, at 5:25 PM, David Herman wrote:
> As for the particular issue of C procedure names, if you mean that
> they all go in a global namespace, that's not quite the same thing.
> Mzscheme doesn't let you reuse top-level bindings, either, but the
> module system allows you to rename them or not to import them at
> all. That's different from shadowing.
But are you going to allow me to rename an imported binding to a name
that already exists in some namespace?
Consider the following program text:
(module foo mzscheme
(require (rename (lib "list.ss") quicksort mergesort))
...
)
With the restrictions that you are envisaging, is the system going to
complain "you can't introduce the name mergesort; it is already
provided by list.ss" ?
Or are you allowing for separate namespaces, and you just don't want
new lexical contours (e.g. LET) to introduce implicit "sub"-namespaces ?
-Felix
More information about the PRL
mailing list