[Haskell-cafe] Stream fusion for Hackage

Roman Leshchinskiy rl at cse.unsw.edu.au
Thu Nov 22 00:42:13 EST 2007


Ross Paterson wrote:
> On Tue, Nov 20, 2007 at 07:25:08PM +1100, Roman Leshchinskiy wrote:
>> Ross Paterson wrote:
>>> 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).
> 
> To quote your own paper, "stream fusion uses an explicit representation
> of the sequence co-structure [or unfolding]: the Stream type."  The key
> property of System F encodings is that they encode a recursive type in a
> non-recursive form, and Stream (ignoring Skip) is the standard System F
> encoding of co-inductive lists.

All true, but to me, there is a difference between encoding coinductive 
structure and being coinductive. After all, "encoding" is to a certain 
extent a matter of interpretation. Anyway, I guess we only disagree 
about terminology.

Roman



More information about the Libraries mailing list