
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Conal Elliott wrote: | Consider | big :: Int | big = 2147483647 | dodgy :: Bool | dodgy = big + 1 > big | oops :: () | oops = if dodgy then () else undefined | | Assuming compositional semantics, the meaning of oops depends on the | meaning of dodgy, which depends on the meaning of big+1, which is | implementation-dependent. So a semantic domain for Bool and even () | would have to include the machine-dependence of Int, so that oops could | mean a function from MachineInfo that returns () sometimes and bottom | sometimes. If the denotations (semantic domains) for Bool and () didn't | include this complexity, they wouldn't be rich enough to capture the | machine-dependence of dodgy and oops. Since Bool's constructors are exported, we can define (>) anywhere, so I don't think it makes sense to consider (>) a part of Bool's semantics, no? - - Jake McArthur -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAknHoq4ACgkQye5hVyvIUKkRugCghgh6qNqmpWvD5SQYX/8PzUws 0Y8AoM3qJS5RIzoEFbD2aN1rR6EdJWh9 =ozCQ -----END PGP SIGNATURE-----