-----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-----
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to