
Data.Boolean  Stability  experimental  Maintainer  conal@conal.net 



Description 
Some classes for generalized boolean operations.
In this design, for ifthenelse, equality and inequality tests, the
boolean type depends functionally on the value type. This dependency
allows the boolean type to be inferred in a conditional expression.
I also tried using a unary type constructor class. The class doesn't work
for regular booleans, so generality is lost. Also, we'd probably have
to wire class constraints in like: (==*) :: Eq a => f Bool > f a > f
a > f a, which disallows situations needing additional constraints,
e.g., Show.


Synopsis 



Documentation 


Generalized boolean class
  Methods    Instances  



Types with conditionals
  Methods  ifB :: bool > a > a > a  Source 

  Instances  IfB Bool Float  IfB Bool Float  (IfB bool p, IfB bool q) => IfB bool ((,) p q)  (IfB bool p, IfB bool q, IfB bool r) => IfB bool ((,,) p q r)  (IfB bool p, IfB bool q, IfB bool r, IfB bool s) => IfB bool ((,,,) p q r s)  IfB bool a => IfB (z > bool) (z > a) 



boolean :: IfB bool a => a > a > bool > a  Source 

Expressionlifted conditional with condition last



Pointwise conditional



Crop a function, filling in mempty where the test yeis false.



Types with equality. Minimum definition: '(==*)'.
  Methods    Instances  



Types with inequality. Minimum definition: '(<*)'.
  Methods    Instances  


Produced by Haddock version 2.4.2 