HORIZON HASKELLDocslts/ghc-9.10.xc74966e2026-09-27Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · c74966e · 2026-09-27

Modulefirst-class-families-0.8.1.0Haskell2010

Fcf.Data.Bool

Booleans.

Note that the operations from this module conflict with Data.Type.Bool.

  • 4 types
datadata UnBool (b :: Exp a) (c :: Exp a) (d :: Bool) (e :: a)
#

N.B.: The order of the two branches is the opposite of "if": UnBool ifFalse ifTrue bool.

This mirrors the default order of constructors:

data Bool = False | True
----------- False < True
Instances2Eval
  • type Eval (UnBool fal tru 'False) = Eval falDefined in first-class-families-0.8.1.0 · Fcf.Data.Bool
  • type Eval (UnBool fal tru 'True) = Eval truDefined in first-class-families-0.8.1.0 · Fcf.Data.Bool
datadata (||) (a :: Bool) (b :: Bool) (c :: Bool)
#
Instances4Eval
  • type Eval ('False || b) = bDefined in first-class-families-0.8.1.0 · Fcf.Data.Bool
  • type Eval ('True || b) = 'TrueDefined in first-class-families-0.8.1.0 · Fcf.Data.Bool
  • type Eval (a || 'False) = aDefined in first-class-families-0.8.1.0 · Fcf.Data.Bool
  • type Eval (a || 'True) = 'TrueDefined in first-class-families-0.8.1.0 · Fcf.Data.Bool
datadata (&&) (a :: Bool) (b :: Bool) (c :: Bool)
#
Instances4Eval
  • type Eval ('False && b) = 'FalseDefined in first-class-families-0.8.1.0 · Fcf.Data.Bool
  • type Eval ('True && b) = bDefined in first-class-families-0.8.1.0 · Fcf.Data.Bool
  • type Eval (a && 'False) = 'FalseDefined in first-class-families-0.8.1.0 · Fcf.Data.Bool
  • type Eval (a && 'True) = aDefined in first-class-families-0.8.1.0 · Fcf.Data.Bool
datadata Not (a :: Bool) (b :: Bool)
#
Instances2Eval
  • type Eval (Not 'False) = 'TrueDefined in first-class-families-0.8.1.0 · Fcf.Data.Bool
  • type Eval (Not 'True) = 'FalseDefined in first-class-families-0.8.1.0 · Fcf.Data.Bool