-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Type level booleans -- -- Type level booleans. -- -- singletons package provides similar functionality, but it has -- tight dependency constraints. @package singleton-bool @version 0.1.1.0 module Data.Singletons.Bool data SBool (b :: Bool) [STrue] :: SBool True [SFalse] :: SBool False class SBoolI (b :: Bool) sbool :: SBoolI b => SBool b sboolAnd :: SBool a -> SBool b -> SBool (a && b) sboolOr :: SBool a -> SBool b -> SBool (a || b) sboolNot :: SBool a -> SBool (Not a) eqToRefl :: (a == b) ~ True => a :~: b eqCast :: (a == b) ~ True => a -> b trivialRefl :: () :~: () instance Data.Singletons.Bool.SBoolI 'GHC.Types.True instance Data.Singletons.Bool.SBoolI 'GHC.Types.False