-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Handle Boolean values generatically. -- -- This package provides various functions and classes for dealing with -- things which are like Boolean values. It also defines a few useful -- instances. The main benefit is the ability to use the usual -- &&, etc. operators without having to invent new -- operator names for every kind of Bool-like thing. -- -- Changes: -- -- @package AC-Boolean @version 1.1.0 -- | Type classes (and instances) for things that are like Booleans. -- -- The names of methods in Boolean clash with the standard -- Prelude, so you probably want to inport the Prelude hiding these three -- names (since the class methods do the same thing, but with more -- general type signatures). -- -- Please note the following points: -- -- module Data.Boolean -- | Typeclass for things that have true and false values. -- -- Instances: -- -- class BoolValue b true :: BoolValue b => b false :: BoolValue b => b -- | Convert a Bool value to the appropriate BoolValue. lift_bool :: BoolValue b => Bool -> b -- | Typeclass for things that support Boolean operators. -- -- Instances: -- -- class Boolean b (&&) :: Boolean b => b -> b -> b (||) :: Boolean b => b -> b -> b not :: Boolean b => b -> b xor :: Boolean b => b -> b -> b instance (Monad m, Boolean b) => Boolean (m b) instance Boolean Bool instance (Monad m, BoolValue b) => BoolValue (m b) instance BoolValue Bool