Strictness of addition functions.
Simon Peyton-Jones
simonpj@microsoft.com
Fri, 15 Mar 2002 00:38:20 -0800
| data Pair =3D Pair !Int# !Int#
|=20
| f (Pair x y) =3D x +# y
|=20
| I still discovered to my dismay that the type of the first=20
| argument to f is U(LL).
|=20
| What can I do to force the arguments to be strict?
Int# is *always* strict. You don't need the !'s. The L is
misleading, I suppose. But since Int# means *unboxed*=20
32-bit integers, there is simply no way you can pass a thunk.
Simon