Proposal: Data.Bool.implies
Niklas Hambüchen
mail at nh2.me
Mon Jan 18 02:17:44 UTC 2016
I propose to add to Data.Bool:
-- | Boolean implication.
implies :: Bool -> Bool -> Bool
implies True x = x
implies False _ = True
infix 4 `implies` -- same as (==)
The request for this is quite old (see e.g.
http://neilmitchell.blogspot.de/2007/02/logical-implication-in-haskell.html).
I believe that by not trying to use an operator for it, and keeping it
in Data.Bool, we can avoid doing anything wrong.
A quick superficial search on Stackage Hoogle suggests that adding this
function should create no breakage (4 packages define their own function
called `implies`, none of them import Data.Bool).
`infix` instead of `infixl` or `infixr` to force you to bracket it; for
the same reason it has the same precedence as `==`.
More information about the Libraries
mailing list