I just uploaded a new package [1] for generalized booleans, which provides type classes with generalizations of boolean values &amp; operations, if-then-else, Eq and Ord.  These values &amp; types come up for me with every new deep DSEL, and I think they do for others as well.  The design space has some tricky trade-offs, and I&#39;m not positive I&#39;ve found the optimum yet.  Users &amp; comments are very welcome.  Please direct discussion to the haskell-cafe list (rather than haskell list).<br>


<br>[1]: <a href="http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Boolean" target="_blank">http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Boolean</a><br><br>   - Conal<br><br>