[Grace-core] Lists and filter

Marco Servetto marco.servetto at gmail.com
Sun Aug 3 12:54:27 PDT 2014


> why an iterator can not be a special kind of list?
because a list can do more than an iterator (in particular, more than a stream)
A stream may offer only one-time access to each element,
but a collection is obviously more flexible
Ok, why an iterator can not be a special kind of list that is
efficient in certain operations and very slow in others?

On 4 August 2014 06:15, Kim Bruce <kim at cs.pomona.edu> wrote:
> This is one of those issues where there is a different answer for professionals & novices. Professionals appreciate the generality of getting back an iterator that can be converted to a list if necessary. Novices learning lists have no idea what iterators are.
>
> Sent from my iPad
>
> On Aug 3, 2014, at 11:01 AM, James Noble <kjx at ecs.vuw.ac.nz> wrote:
>
>>> I'm a bit surprised that the method filter on a list returns an iterator.  I'm not planning on explaining iterators to my first course students (it's more appropriate for students in data structures).  That means I can't really teach my students about filter on lists.  Why not have filter on iterator return an iterator, but filter on lists return a list?
>>
>> I guess this depends on how we want to design out collection library.
>> what we have now probably won't be the final word on the matter!
>>
>> generally you'll want iterators (or really, streams)  so that e.g. things can be done lazily,
>> without necessarily allocating a full collection at each stage in a chain.
>>
>> Marco writes
>>> why an iterator can not be a special kind of list?
>>
>> because a list can do more than an iterator (in particular, more than a stream)
>> A stream may offer only one-time access to each element,
>> but a collection is obviously more flexible
>>
>> James
>>
>>> Kim
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Grace-core mailing list
>>> Grace-core at cecs.pdx.edu
>>> https://mailhost.cecs.pdx.edu/mailman/listinfo/grace-core
>>
>
> _______________________________________________
> Grace-core mailing list
> Grace-core at cecs.pdx.edu
> https://mailhost.cecs.pdx.edu/mailman/listinfo/grace-core



More information about the Grace-core mailing list