[racket-dev] variable wrong procedure or structure-type shape error?

From: Kevin Forchione (lysseus at gmail.com)
Date: Sat Aug 30 13:25:53 EDT 2014

On Aug 30, 2014, at 7:09 AM, Matthew Flatt <mflatt at cs.utah.edu> wrote:

> Just for the record, this is my fault for not incrementing the version
> with a change to the compiler's optimizer.
> I thought of the optimization as "local" and having no effect on a
> module's interface to other modules. There's no such thing, though,
> since optimizer-inferred properties of a function's body are exported
> with a function, and those properties can change with most any
> optimizer adjustment.

Just to fill in another hole in my swiss-cheese education, what do we mean by “shape” with regard to procedure/structure type? It was the require of a class that was producing the error, and I’ve gathered that classes are implemented with structures. It was baffling to my why the module containing the class compiled without error, but compiling the module requiring it failed. It was also interesting that the module did compile fine with the latest version, until I’d tossed the compiled folder in the trash. Running race make on the top-level file resolved the problem, but I’m wondering why  the “run” in DrRacket didn’t do the same.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/dev/archive/attachments/20140830/e1c47c15/attachment.html>

Posted on the dev mailing list.