[Haskell-cafe] Existentials and type var escaping
Isaac Dupree
isaacdupree at charter.net
Thu May 31 17:44:49 EDT 2007
-----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-----
More information about the Haskell-Cafe
mailing list