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

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Sat Aug 30 10:09:43 EDT 2014

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.

At Fri, 29 Aug 2014 16:22:10 -0700, Kevin Forchione wrote:
> 
> On Aug 29, 2014, at 2:17 PM, Matthias Felleisen <matthias at ccs.neu.edu> wrote:
> 
> > 
> > You need to clean out the cached compiled code and remake those collections. 
> Remove the compiled directories, and run raco make again. -- Matthias
> > 
> > 
> > 
> > On Aug 29, 2014, at 5:10 PM, Kevin Forchione <lysseus at gmail.com> wrote:
> > 
> >> Hmmmm…. something changed between Racket 6.1 and the latest release that is 
> producing this mysterious (to me at least!) error in a project of mine that 
> compiles fine with 6.1, but not with the latest version, producing: 
> >> 
> >> Welcome to DrRacket, version 6.1.0.5--2014-08-28(a1f5340/a) [3m].
> >> Language: racket [custom]; memory limit: 512 MB.
> >> link: bad variable linkage;
> >> reference to a variable that has the wrong procedure or structure-type shape
> >> reference phase level: 0
> >> variable module: "/Users/lysseus/Racket/games/lib/matrix.rkt"
> >> variable phase: 0
> >> reference in module: "/Users/lysseus/Racket/games/2048/2048-obj.rkt" in: 
> matrix-row
> >> 
> >> Any idea wheat this error means and why 6.1.0.5 is getting the error? It 
> appears to have been introduced sometime after version 
> 6.1.0.5--2014-08-25(32ae3f8/a) [3m]., which compiled fine.
> 
> That sorted it. And that’s got me on to learning more about race. :)
> 
> -Kevin
> 
> _________________________
>   Racket Developers list:
>   http://lists.racket-lang.org/dev


Posted on the dev mailing list.