They might even be able to see this with check syntax, as the require for redex will point to define-struct (I believe).
FWIW, the plan is to have modules declare that they work with the teaching languages (or a subset of them) and then racket wouldn't make that declaration and then this would be a syntax error. But we haven't gotten to that yet. Robby On Sat, Nov 5, 2011 at 9:09 AM, Adam Shaw <adams...@cs.uchicago.edu> wrote: > My students have found it on their own, and they're using it for things like > "last". I have no problem slapping them on the wrist for that, but that's a > separate issue. I just wanted to be able to explain to them why struct > comparisons are suddenly broken. > > - Adam > >> On Nov 5, 2011, at 9:03 AM, Robby Findler wrote: >> >>> (require racket) generally doesn't work in the teaching languages. It >>> shadows define-struct, in this case, and you get the wrong version (so >>> you get generative structs). >>> >>> Why are you doing (require racket)? There's probably some smaller >>> library you could use that would not shadow core things... >>> >>> Robby >>> >>> On Sat, Nov 5, 2011 at 8:54 AM, Adam Shaw <adams...@cs.uchicago.edu> wrote: >>>> Hi -- >>>> My students noticed that certain check-expect tests stop working in the >>>> presence of (require racket). For example, the check-expect in this >>>> three-line file fails under ISλ: >>>> (require racket) >>>> (define-struct foo (x)) >>>> (check-expect (make-foo 0) (make-foo 0)) >>>> Why is this happening? >>>> Thanks -- Adam >>>> _________________________________________________ >>>> For list-related administrative tasks: >>>> http://lists.racket-lang.org/listinfo/users >>>> >>> >> > > > _________________________________________________ > For list-related administrative tasks: > http://lists.racket-lang.org/listinfo/users _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users