[racket-dev] [plt] Push #25728: master branch updated

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Wed Nov 21 14:28:33 EST 2012

Oh, I'm not sure. I just picked sequences to fit into for loops.
(Indeed, the code was mostly there already, I just stuck it on the
struct.)

On Wed, Nov 21, 2012 at 1:22 PM, Asumu Takikawa <asumu at ccs.neu.edu> wrote:
> On 2012-11-21 12:50:49 -0600, Robby Findler wrote:
>> On Wed, Nov 21, 2012 at 11:52 AM, Asumu Takikawa <asumu at ccs.neu.edu> wrote:
>> > Should queues also be streams or just sequences?
>>
>> I didn't think about this: if you think they should also be streams,
>> that's okay with me. I'm not really sure of the benefits.
>
> I actually asked this because I'm not sure myself. We have two APIs:
> sequences and streams, but it's not entirely clear to me when to prefer
> one over the other.
>
> Streams support `first`, `rest`, and `empty?`. Sequences don't directly
> support either `first` or `rest`, but with the `sequence-ref` and
> `sequence-tail` functions you can emulate them.
>
> One advantage of streams is that there's now an easy way to implement
> them (via the `gen:stream` generic interface).
>
> Is there a guiding principle behind these APIs?
>
> Cheers,
> Asumu

Posted on the dev mailing list.