[Haskell-cafe] Stream fusion for Hackage

Roman Leshchinskiy 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.

Roman



More information about the Libraries mailing list