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

Re: [plt-scheme] upgrading to 200 from 103



At Wed, 29 May 2002 16:32:36 -0400 (EDT), Deva Seetharam wrote:
> i upgraded to v200. now, i am having problems with loading libraries.
> when i try to load slib twice (included from 2 different files),
> i get the error message
> "reference to undefined identifier: lib."
> 
> it works ok, if the statement (require (lib "load.ss" "slibinit")) is
> executed only once. 
> 
> i get the same message if i try to execute this statement from
> drscheme or mzscheme in emacs.
> 
> how to fix this?

Hi,

The problem is that `(require (lib "load.ss" "slibinit"))' redefines
`require' to be the one defined by SLIB.

I don't know a good way around the problem. You could define
`mz-require' as an alias for `require':

 (module mz-require mzscheme
   (provide mz-require)
   (define-syntax mz-require
     (syntax-rules ()
       [(mz-require x ...) (require x ...)])))
 (require mz-require)

Then use `mz-require' instead of `require'.

That's ugly, but any solution is probably going to be ugly, since the
underlying problem is that SLIB doesn't use MzScheme's `module'.

Matthew