
12 Jul
2007
12 Jul
'07
9:41 a.m.
Roman,
I have to admit that I don't really understand the distinction between Haskell's lists and colists (or, in general, datatypes in Haskell and codatatypes). To me, lists are inductive and colists are coinductive, i.e., the former are the least and the latter the greatest fixed point of the underlying functor. Thus, Haskell's list datatype actually models colists (and algebraic datatypes in Haskell are coinductive by default). This thread seems to implicitly assume a different interpretation of the prefix "co" but I don't really understand what this interpretation is.
In Haskell, coinductive types and inductive types coincide. So, Haskell's [] models both lists and colists. Cheers, Stefan