Data.Bool

Copyright (c) The University of Glasgow 2001
License BSD-style (see the file libraries/base/LICENSE)
Maintainer libraries@haskell.org
Stability stable
Portability portable
Safe Haskell Safe
Language Haskell2010

Description

The Bool type and related functions.

Booleans

data Bool Source

Constructors

False
True
Instances
Instances details
Bits Bool Source

Interpret Bool as 1-bit bit-field

Since: base-4.7.0.0

Instance details

Defined in GHC.Internal.Bits

FiniteBits Bool Source

Since: base-4.7.0.0

Instance details

Defined in GHC.Internal.Bits

Data Bool Source

Since: base-4.0.0.0

Instance details

Defined in GHC.Internal.Data.Data

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Bool -> c Bool Source

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Bool Source

toConstr :: Bool -> Constr Source

dataTypeOf :: Bool -> DataType Source

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Bool) Source

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Bool) Source

gmapT :: (forall b. Data b => b -> b) -> Bool -> Bool Source

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Bool -> r Source

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Bool -> r Source

gmapQ :: (forall d. Data d => d -> u) -> Bool -> [u] Source

gmapQi :: Int -> (forall d. Data d => d -> u) -> Bool -> u Source

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Bool -> m Bool Source

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Bool -> m Bool Source

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Bool -> m Bool Source

Bounded Bool Source

Since: base-2.1

Instance details

Defined in GHC.Internal.Enum

Enum Bool Source

Since: base-2.1

Instance details

Defined in GHC.Internal.Enum

Storable Bool Source

Since: base-2.1

Instance details

Defined in GHC.Internal.Foreign.Storable

Generic Bool Source
Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep Bool

Since: base-4.6.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep Bool = D1 ('MetaData "Bool" "GHC.Types" "ghc-prim" 'False) (C1 ('MetaCons "False" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "True" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: Bool -> Rep Bool x Source

to :: Rep Bool x -> Bool Source

SingKind Bool

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Generics

Associated Types

type DemoteRep Bool
Instance details

Defined in GHC.Internal.Generics

type DemoteRep Bool = Bool

Methods

fromSing :: forall (a :: Bool). Sing a -> DemoteRep Bool

Ix Bool Source

Since: base-2.1

Instance details

Defined in GHC.Internal.Ix

Read Bool Source

Since: base-2.1

Instance details

Defined in GHC.Internal.Read

Show Bool Source

Since: base-2.1

Instance details

Defined in GHC.Internal.Show

Eq Bool Source
Instance details

Defined in GHC.Classes

Methods

(==) :: Bool -> Bool -> Bool Source

(/=) :: Bool -> Bool -> Bool Source

Ord Bool Source
Instance details

Defined in GHC.Classes

Methods

compare :: Bool -> Bool -> Ordering Source

(<) :: Bool -> Bool -> Bool Source

(<=) :: Bool -> Bool -> Bool Source

(>) :: Bool -> Bool -> Bool Source

(>=) :: Bool -> Bool -> Bool Source

max :: Bool -> Bool -> Bool Source

min :: Bool -> Bool -> Bool Source

SingI 'False

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Generics

Methods

sing :: Sing 'False

SingI 'True

Since: base-4.9.0.0

Instance details

Defined in GHC.Internal.Generics

Methods

sing :: Sing 'True

Lift Bool Source
Instance details

Defined in GHC.Internal.TH.Lift

Methods

lift :: Quote m => Bool -> m Exp Source

liftTyped :: forall (m :: Type -> Type). Quote m => Bool -> Code m Bool Source

type DemoteRep Bool Source
Instance details

Defined in GHC.Internal.Generics

type DemoteRep Bool = Bool
type Rep Bool Source

Since: base-4.6.0.0

Instance details

Defined in GHC.Internal.Generics

type Rep Bool = D1 ('MetaData "Bool" "GHC.Types" "ghc-prim" 'False) (C1 ('MetaCons "False" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "True" 'PrefixI 'False) (U1 :: Type -> Type))
data Sing (a :: Bool) Source
Instance details

Defined in GHC.Internal.Generics

data Sing (a :: Bool) where

Operations

(&&) :: Bool -> Bool -> Bool infixr 3 Source

Boolean "and", lazy in the second argument

(||) :: Bool -> Bool -> Bool infixr 2 Source

Boolean "or", lazy in the second argument

not :: Bool -> Bool Source

Boolean "not"

otherwise :: Bool Source

otherwise is defined as the value True. It helps to make guards more readable. eg.

 f x | x < 0     = ...
     | otherwise = ...

bool :: a -> a -> Bool -> a Source

Case analysis for the Bool type. bool f t p evaluates to f when p is False, and evaluates to t when p is True.

This is equivalent to if p then t else f; that is, one can think of it as an if-then-else construct with its arguments reordered.

Examples
Expand

Basic usage:

>>> bool "foo" "bar" True
"bar"
>>> bool "foo" "bar" False
"foo"

Confirm that bool f t p and if p then t else f are equivalent:

>>> let p = True; f = "bar"; t = "foo"
>>> bool f t p == if p then t else f
True
>>> let p = False
>>> bool f t p == if p then t else f
True

Since: base-4.7.0.0

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.12.1/docs/libraries/base-4.21.0.0-8e62/Data-Bool.html