[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Redefining define



On Sat, Dec 08, 2001 at 06:36:18AM -0700, Matthew Flatt wrote:
>  (module util mzscheme
>     (define-syntax util-define ...)
> 
>     (provide (rename util-define define)
>              (all-from-except mzscheme define)))

But this requires that util is used as the initial import instead of
mzscheme? This is kind of icky, since then you can't use multiple
modules with these sorts of redefinitions simultaneously, except of
course by combining the needed modules into yet another module to use as
the initial import.

I can understand that disallowing _any_ overlap between names in scope,
even between the initial and required modules, is conceptually elegant,
but it seems to have impractical consequences.

> Yes - the names exported by `#%kernel' overlap with the names exported
> by `mzscheme'.

More specifically, the conflict comes from #%module-begin. When I
exclude that from the import list, using #%kernel works fine. That, of
course, doesn't solve the problem of how to _use_ a module that exports
define...

Perhaps I'll just stick to another name. :)


Lauri Alanko
la@iki.fi