On Thu, Oct 20, 2011 at 10:11 PM, Ryan Culpepper <r...@cs.utah.edu> wrote: > Looks like it works in 5.0.2 (November 2010) but fails in 5.1 (February > 2011).
You're talking about in the teaching languages, right? In #lang racket, I see the first-produces-error behavior back to 5.0: [robby@penghu] /Applications/Racket v5.0.2/bin$ ./racket Welcome to Racket v5.0.2. > (first (shared ((x (cons 1 x))) x)) first: expected argument of type <non-empty list>; given #0='(1 . #0#) At least for the racket language, this seems to go back at least as far as 5.0: [robby@penghu] /Applications$ ./Racket\ v5.0/bin/racket Welcome to Racket v5.0. > (first (shared ((x (cons 1 x))) x)) first: expected argument of type <non-empty list>; given #0='(1 . #0#) > The ultimate problem seems to be that deinprogramm/signature/signature-unit > uses first from racket/list (checks list?, ie non-cyclic) rather than > mzlib/list (only checks pair?). This looks like it was the commit that changed the behavior for the teaching languages: http://git.racket-lang.org/plt/commitdiff/c7d67f9babc2496aaf295a08264b79750785314b and judging from the commit message, the change in behavior was not intentional. Robby _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev