[Haskell-cafe] Stream fusion for Hackage
rl at cse.unsw.edu.au
Tue Nov 20 03:25:08 EST 2007
Ross Paterson wrote:
> On Mon, Nov 19, 2007 at 10:30:11PM +1100, Roman Leshchinskiy wrote:
>> I have to disagree here. Our streams can be used to model both inductive
>> (i.e. tail-strict) and coinductive lists. What data structure is being
>> modelled is not a property of the Stream data type but rather of the stream
>> operations. For inductive data types, we just have to make sure that
>> streams are always fully consumed.
> I was saying that your "streams" are themselves coinductive objects.
> Is that controversial?
They aren't recursive so in my view, they themselves are just as
(co)inductive as, say, a function of type (a -> a). My point was that
since they can faithfully model both inductive and coinductive types,
putting them under a Coinductive hierarchy would be counterintuitive.
More information about the Libraries