Ross Paterson wrote:
On Sat, Aug 08, 2009 at 10:09:38AM +0100, Iavor Diatchki wrote:
I thought that the intended semantics was supposed to be that the only
element is bottom (hence the proposal to add a related empty case
construct)?

If that were the case, a compiler could legitimately discard any value
of such a type, because it could be easily reconstructed.  I don't
think that is what is intended.

Actually, I think it is. I think that's a natural consequence of the way Haskell is specified. GHC tries to pick the kind of bottom that you expected, but it doesn't always work really well, because it's not actually specified in any sort of formal way...

Now, with imprecise exceptions, I'm not sure a compiler could legitimately discard the value.

(by the way, for a type that you can unsafeCoerce anything to, GHC has a special type named "Any". Which is not the same as a data type with no constructors.)

-Isaac
_______________________________________________
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime

Reply via email to