I think these queues are not streams, because they're imperative. That is, the intent is that `stream-first' and `stream-rest' are functional.
At Wed, 21 Nov 2012 13:28:33 -0600, Robby Findler wrote: > 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 <as...@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 <as...@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 > _________________________ > Racket Developers list: > http://lists.racket-lang.org/dev _________________________ Racket Developers list: http://lists.racket-lang.org/dev