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

2014-08-30 Thread Matthew Flatt
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 matth...@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 lyss...@gmail.com wrote:
  
  H…. 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

_
  Racket Developers list:
  http://lists.racket-lang.org/dev


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

2014-08-30 Thread Kevin Forchione

On Aug 30, 2014, at 7:09 AM, Matthew Flatt mfl...@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.

-Kevin_
  Racket Developers list:
  http://lists.racket-lang.org/dev


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

2014-08-29 Thread Kevin Forchione
H…. 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.

-Kevin
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


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

2014-08-29 Thread Kevin Forchione

On Aug 29, 2014, at 2:17 PM, Matthias Felleisen matth...@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 lyss...@gmail.com wrote:
 
 H…. 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