[Haskell-cafe] if-then without -else?
Albert Y. C. Lai
trebla at vex.net
Tue Jul 17 02:49:41 UTC 2018
On 2018-07-09 01:20 PM, Johannes Waldmann wrote:
> a student in my class detected
> this inconsistency in the design of Haskell:
>
>> Why require that each "if-then" has an "else"
>> while still allowing incomplete sets of patterns?
>> We could define "if p then a"
>> by translating to "case p of { True -> a }"
>
> I think that "but then we'd have the dangling-else problem"
> is not a good answer because this is really about semantics,
> not surface syntax.
Anthony Clayden is right that if-then-else has the benefit of giving an
unambiguous grammar.
if-then can be made unambiguous if you throw in delimiting, e.g.,
if-then-fi, if-then-begin-end.
Suppose you like to support if-then (and have your disambiguation story)
on the ground that case-of-True is already supported, and you don't mind
the partiality, then why stop there?
Why is if-else getting no love from you? Afterall, case-of-False is
already supported, too.
>:)
More information about the Haskell-Cafe
mailing list