[plt-scheme] eopl's sllgen functions don't like scanner/parser definitions in other modules?

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Tue Jun 28 16:25:48 EDT 2005

At Sat, 18 Jun 2005 17:13:57 -0700 (PDT), Danny Yoo wrote:
> I assume that I'm running into some subtle behavior with the way SLLGEN's
> macro expansion deals with modules and the toplevel, since the doc.txt
> documentation to SLLGEN:MAKE-DEFINE-DATATYPES says:
> 
>     [...] the arguments must be either quoted literal tables or
>     identifiers that are defined (at the top level) to quoted literal
>     tables.
> 
> so it must be doing something magical to force that kind of unusual
> syntactic requirement.

Yes, the implementation was broken. When I made EOPL top-level
definitions conspire with SLLGEN, I did exactly what I tell everyone
else not to do: the `define' expansion registered information in a
table, instead of generating a compile-time expression to register the
information.

This is now fixed in SVN. I have not yet fixed the bad error message.

Matthew



Posted on the users mailing list.