Strictness in data declaration not matched in assembler?

Simon Peyton-Jones simonpj at microsoft.com
Thu Oct 16 07:04:30 EDT 2008


| > BUT people who care probably UNPACK their strict fields too, which
| > is even better.  The time you can't do that is for sum types
| >        data T = MkT ![Int]
|
| You also can't do it for polymorphic components. I've used code like:
|
|    data T a = MkT !a
|
|    foo :: T (a,b) -> a
|    foo (MkT (x,y)) = x
|
| Here, unpacking doesn't work but foo could still access the components
| of the pair directly.

Excellent point Roman.

S


More information about the Glasgow-haskell-users mailing list