Hi

Ashley Yakeley wrote:
Taral wrote:

> I see nothing wrong with "case x of {}", with required braces. The
> layout rule never generates empty braces.

Also consider a simple "case x",

[..]

This will be useful for GADTs:

  data MyGADT a where
    IntGADT :: MyGADT Int

  never :: MyGADT Char -> t
  never x = case x  -- no bottom needed

I like it, but I might like it even more if there was a little more noise
 (1) to distinguish this syntax from a lapse of concentration
(2) to indicate that the construct is (morally) strict, well-defined because x is undefined;
      remember, case undefined { _ -> () } is ().

I don't like "case x of {}", because it's just another way of saying "undefined", ie "x might have cases but we're not going to handle any of them". If there was some total variant, "cover" of case whose coverage was enforced, I'd be happy with "cover x of {}".

How about "case ! x" ?

Or not

Conor

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

Reply via email to