[Haskell-beginners] type constructors
Jason Dusek
jason.dusek at gmail.com
Sat Aug 1 14:43:10 EDT 2009
2009/08/01 Michael P Mossey <mpm at alumni.caltech.edu>:
> This is surprising to a conventional programmer. But does this
> naturally relate to other features of Haskell. Perhaps
> laziness? (I.e. data of type Foo doesn't always need a type b
> so it just doesn't have one until it needs one.)
Laziness is a runtime thing; type constraints are compile
time. So "...doesn't have one until it needs one." isn't right
-- `t3` will *never* have a type for `b` in the program
snippet above. If you add more code (create a different
context) then you might constrain `b` more and lead to a more
definite type. The type is always a static type, though --
types don't get more specific as the program runs.
--
Jason Dusek
More information about the Beginners
mailing list