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

From: H David Goering (hdg at cox.net)
Date: Thu Nov 20 10:25:44 EST 2008

Noel & carl,

Thank you for your advice.  I implemented Carl's solution.  The  
differences between MzScheme v. 372 and #lang scheme/load + (require  
mzscheme) were in my case trivial.

David


On Nov 18, 2008, at 11:40 PM, Carl Eastlund wrote:

> 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.
>
> --Carl
>
> 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.