[plt-scheme] migrating non-modular mzscheme programs to PLT version 4

From: Carl Eastlund (cce at ccs.neu.edu)
Date: Wed Nov 19 00:40:12 EST 2008

The scheme/load language is PLT 4.0, like the scheme and scheme/base
languages, but it behaves like the top level (i.e. the REPL) rather
than like a module.  I forgot it wouldn't save you the trouble of
porting to the new language features.


On Tue, Nov 18, 2008 at 11:41 PM, H David Goering <hdg at cox.net> wrote:
> Carl,
> Which Scheme is scheme/load?  It's not MzScheme.  The program loaded after
> adding "(require mzscheme)" and making a few small changes, but it doesn't
> run.
> Thanks,
> David
> On Nov 16, 2008, at 11:14 AM, Carl Eastlund wrote:
>> If you put "#lang scheme/load" at the top of your main file, I believe
>> it should run properly in the Module language and load the other files
>> without changing them.
>> --Carl
>> On Sun, Nov 16, 2008 at 12:36 AM, H David Goering <hdg at cox.net> wrote:
>>> Unlike MzScheme of version 3, Module seems to require that the top-level
>>> file of a multi=file program contain a module. Adding '(require
>>> mzscheme)'
>>> is not sufficient.
>>> Converting the top-level file to a module is no hardship, but 'load' and
>>> 'load/use-compiled' now seem to require that arguments refer to modules
>>> rather than mere files. If the reference is not a module the error
>>> message
>>> "compile: bad syntax; function application is not allowed, because no
>>> #%app
>>> syntax transformer is bound" is seen. Adding '#lang mzscheme' fixes that
>>> problem but fragments the namespace in a regrettable way.
>>> Will Module accept a multi-file mzscheme program that is not modularized?
>>>  Or one that is treated as a single module?
>>> Thanks,
>>> David

Posted on the users mailing list.