[racket] Lazy take is the identity?

From: Casey Klein (clklein at eecs.northwestern.edu)
Date: Wed Jan 26 15:28:40 EST 2011

On Wed, Jan 26, 2011 at 1:41 PM, John Clements
<clements at brinckerhoff.org> wrote:
>
> On Jan 26, 2011, at 4:29 AM, Casey Klein wrote:
>
>> On Wed, Jan 26, 2011 at 1:27 AM, John Clements
>> <clements at brinckerhoff.org> 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.

Sorry, I missed the "should-be-error is bound to zero" part of your message!


Posted on the users mailing list.