[Haskell-cafe] Type inference for infinite structures
mattcol at gmail.com
Thu Dec 22 19:59:19 EST 2005
I'm relatively new to Haskell and was a bit troubled by the problem
of assigning a type to infinite structures. To give a clear example,
suppose we have
data Nat = Zero | Succ Nat
omega = Succ omega
What type then does omega have? According to GHCi, omega :: Nat. But
surely this can only be the case if we already have that omega :: Nat
(on the right hand side of the equation)?
I can see that the type assignment is valid, but is it necessarily
the case? Does it not, somehow, sidestep the inductive base case of
the definition of a Nat?
More information about the Haskell-Cafe