[plt-scheme] Transition from 3.x to 4.x (I'm late, I know...)

From: Erich Rast (erich at snafu.de)
Date: Fri Feb 6 05:42:24 EST 2009

Hello all,

After quite some time I've been looking at some old code from 3.x again
and unfortunately it fails to work on 4.x particularly because some of
the external collections I'm using don't seem to work.

The crypto.plt package has been updated, but I've got troubles getting
Oesterholt's excellent internat.plt to work and Jens Axel Søgaard's
gzip.plt says it cannot find "zlib.dylib" on OS X 10.5. AFAIK, it worked
previously, but when I search for "zlib.dylib" now it doesn't seem to be
installed on my system any longer. (I have installed zlib using
macports, but DrScheme can't find it, probably because the installation
path is non-standard.)

1.) I replaced (module name mzscheme ...) with #lang scheme and it seems
that reverse! is no longer available. Is there a way to require an
external package with reverse! from srfi 1 in its namespace without
modifying the source code? Or is it up to the package maintainer to
require srfi/1?

2.) Is there a document that generally describes how to move code from
3.x to 4.x? There have been a few changes since and I can't find a
central place describing them in the online docs.

3.) Does anyone know how to make the FFI find zlib on Leopard? Shouldn't
it be installed on vanilla OS X 10.5.x anyway?

4.) Is there a "compatibility switch" allowing you to use older packages
in 4.x?

5.) What's the difference between using #lang scheme followed by
'top-level' module source code and the old embedded (module name
mzscheme ...)?

I guess it's best to update the packages themselves and I will notify
the package authors, but meanwhile I'd just like to get my old stuff

Best regards,


Posted on the users mailing list.