[plt-scheme] language level problem

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Thu Aug 28 12:22:14 EDT 2003

At Wed, 27 Aug 2003 17:23:32 -0400 (EDT), Gregory Cooper wrote:
> In past years, we've had special language levels for the undergraduate
> programming languages course at Brown.  Last year, we got things working
> under version 203, but now we'd like to use version 205, and our code no
> longer works, although we have recompiled and can load the modules without
> any problem.
> 
> Strangely, if we set the language level to (module ...) and load one of
> the language modules, everything works perfectly.  But if we set the level
> directly to one of the modules, then attempting to evaluate even
> simple expressions leads to errors like the following:
> 
> > 3
> compile: bad syntax; literal data is not allowed, because no #%datum
> syntax transformer is bound in: 3

For v205 the tool interface changed slightly, in that a syntax object
returned by a langauge front-end is not automatically given the
top-level context if it is otherwise contextless.

Maybe we overlooked DrScheme's own built-in tool for module-based
languages, so that it didn't get updated for v205.

One way around this bug for now is to create your own tool, perhaps by
cloning collects/eopl/eopl-tool.ss and fixing it for your language.
(Drop the override of on-execute, which the EoPL language needs and
your probably doesn't.)

Matthew



Posted on the users mailing list.