[Haskell-cafe] Bool is not...safe?!
Stefan Monnier
monnier at iro.umontreal.ca
Thu Jul 5 14:27:15 UTC 2018
> There is an opinion that Bool type has problems. It's "dangerous", because
> it's not good to be used as flag for success/fail result. I read this post:
> https://existentialtype.wordpress.com/2011/03/15/boolean-blindness/ and was
> shocked. How popular is such opinion? Is it true, that bool is "bad" type?
To me the argument boils down to the `head` case mentioned by Alex.
Most programming languages force you to write code like
if List.empty l then
...
else
... x = List.head l ...
where the problem is that the fact that the List.head call will find the
list non-empty is not obvious (in the sense that it requires reasoning).
In contrast
case l
| nil => ...
| cons x xs => ...
makes it trivially obvious that `x` is extracted from a non-empty list
without any reasoning needed at all.
Stefan
More information about the Haskell-Cafe
mailing list