On Jan 26, 2011, at 4:29 AM, Casey Klein wrote: > On Wed, Jan 26, 2011 at 1:27 AM, John Clements > <[email protected]> wrote: >> I would expect this program to signal an error: >> >> #lang lazy >> >> (define zeros (cons 0 zeros)) >> >> (define should-be-error (list-ref (take 15 zeros) 1324)) >> >> >> ... but instead should-be-error is bound to zero. How can I take the 1000th >> element of a list with only 15 elements? I'm tempted to make snide comments >> about laziness, but I'm sure it'll backfire when it turns out that somehow >> that's the right answer after all. >> >> Bug report? >> > > Sure enough: > > http://bugs.racket-lang.org/query/?cmd=view&pr=11458
Correct me if I'm wrong, but this appears to be a different issue. The question here is not laziness, but the length of the resulting list. Here's another example: #lang lazy (define zeros (cons 0 zeros)) (define lazy-list-of-length-one (take 1 zeros)) (define should-be-null (rest lazy-list-of-length-one)) => Welcome to DrRacket, version 5.0.99.6--2011-01-20(d675c7b/g) [3m]. Language: lazy [custom]; memory limit: 256 MB. > (! should-be-null) '(0 . #<promise:...llects/lazy/lazy.rkt:588:41>) > Eli? John
smime.p7s
Description: S/MIME cryptographic signature
_________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users

