[Haskell-cafe] Unnecessarily strict implementations

Neil Brown nccb2 at kent.ac.uk
Thu Sep 2 12:27:02 EDT 2010

On 02/09/10 17:10, Stephen Sinclair wrote:
> On Thu, Sep 2, 2010 at 3:25 AM, Jan Christiansen
> <jac at informatik.uni-kiel.de>  wrote:
>> I prefer
>>   False<= _|_ = True
> Sorry to go a bit off topic, but I find it funny that I never really
> noticed you could perform less-than or greater-than comparisons on
> Bool values.  What's the semantic reasoning behind allowing relative
> comparisons on booleans?  In what context would you use it?  It seems
> to me a throwback to C's somewhat arbitrary assumption that False=0
> and True=1.
Comparison on Bool itself is probably not particularly useful.  But it 
is often useful if the Bool is part of a larger data structure.  For 
example, I might want to have Set (String, Bool); without the Ord 
instance on Bool I couldn't do this.  Similarly, you couldn't derive Ord 
on your data types that have Bool in them without the Ord Bool instance.



More information about the Haskell-Cafe mailing list