On Thu, Jun 22, 2006 at 05:44:58PM +0100, I wrote: > It works because Haskell 'data' definitions yield both an initial fixed > point (with respect to strict functions) and a terminal fixed point (with > respect to arbitrary functions), and moreover these are usually the same. > The former is inductive, the latter co-inductive. They differ only when > the definition is strict in the recursive type, as in > > data Nat = Zero | Succ !Nat
On second thoughts, I think the fixed points coincide in these cases too. _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
