Unlifted data types

Simon Peyton Jones simonpj at microsoft.com
Wed Sep 9 12:57:44 UTC 2015


|  I mean that, for example, `length` will work over both strict lists
|  and lazy lists. It will infer the strictness of its argument through
|  ordinary type inference. So users have to be aware of strictness, but
|  they will be able to use the same functions in both cases.

I didn't understand that.  You mean that 'length' will be levity-polymorphic, but 'map' will not?  What are the rules for determining which is which?  (Which functions, exactly, can be levity-polymorphic???


More information about the ghc-devs mailing list