
31 May
2007
31 May
'07
9:44 p.m.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Roberto Zunino wrote:
In this function
data C = C Int foo :: C -> C foo ~(C x) = C x
foo is _not_ the identity: its result must be non bottom, i.e. the constructor C is "forced" to its argument.
foo undefined = undefined foo (C undefined) = C undefined foo (C 13) = C 13 Looks like the identity to me? (id _is_ strict after all) foo' (C x) = x `seq` (C x) would be different though: foo' (C undefined) = undefined Isaac -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGX0HQHgcxvIWYTTURAoE2AKDFNn2bSVqoVjqWj8jyBfgKjYVh1gCeLqdT pGz49AfTUbblaMeeyBR8a84= =sFp6 -----END PGP SIGNATURE-----