
On 2016-01-18 at 03:17:44 +0100, Niklas Hambüchen wrote: [...]
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.
Just wondering, what could/would go wrong if we did use an operator `==>` (still be hidden in Data.Bool[1]), i.e. (==>) :: Bool -> Bool -> Bool True ==> x = x False ==> _ = True this would leave open the option to have an obvious flipped version (<==) :: Bool -> Bool -> Bool (<==) = flip (==>) [1]: Consequently, if `==>` is available only via explicit Data.Bool import, a conflict with QuickCheck's (==>) shouldn't be a big issue IMHO