Spec-Zone.ru › Haskell 9

Data.Bool

Авторские права (c) Университет Глазго 2001
Лицензия BSD-стиль (см. файл libraries/base/LICENSE)
Поддержка libraries@haskell.org
Стабильность стабильная
Переносимость переносимая
Safe Haskell Безопасный
Язык Haskell2010

Содержание

  • Булевы значения
    • Операции

Описание

Тип Bool и связанные функции.

Булевы значения

data Bool Источник

Конструкторы

False
True
Экземпляры
Подробности об экземплярах
Bits Bool Источник

Интерпретировать Bool как 1-битное битовое поле

С версии: base-4.7.0.0

Подробности об экземпляре

Определено в GHC.Internal.Bits

Методы

(.&.) :: Bool -> Bool -> Bool Источник

(.|.) :: Bool -> Bool -> Bool Источник

xor :: Bool -> Bool -> Bool Источник

complement :: Bool -> Bool Источник

shift :: Bool -> Int -> Bool Источник

rotate :: Bool -> Int -> Bool Источник

zeroBits :: Bool Источник

bit :: Int -> Bool Источник

setBit :: Bool -> Int -> Bool Источник

clearBit :: Bool -> Int -> Bool Источник

complementBit :: Bool -> Int -> Bool Источник

testBit :: Bool -> Int -> Bool Источник

bitSizeMaybe :: Bool -> Maybe Int Источник

bitSize :: Bool -> Int Источник

isSigned :: Bool -> Bool Источник

shiftL :: Bool -> Int -> Bool Источник

unsafeShiftL :: Bool -> Int -> Bool Источник

shiftR :: Bool -> Int -> Bool Источник

unsafeShiftR :: Bool -> Int -> Bool Источник

rotateL :: Bool -> Int -> Bool Источник

rotateR :: Bool -> Int -> Bool Источник

popCount :: Bool -> Int Источник

FiniteBits Bool Источник

С версии: base-4.7.0.0

Подробности об экземпляре

Определено в GHC.Internal.Bits

Методы

finiteBitSize :: Bool -> Int Источник

countLeadingZeros :: Bool -> Int Источник

countTrailingZeros :: Bool -> Int Источник

Data Bool Источник

С версии: base-4.0.0.0

END_OF_DOCUMENT_MARKER
Подробности экземпляра

Определено в GHC.Internal.Data.Data

Методы

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Bool -> c Bool Исходный код

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Bool Исходный код

toConstr :: Bool -> Constr Исходный код

dataTypeOf :: Bool -> DataType Исходный код

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Bool) Исходный код

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Bool) Исходный код

gmapT :: (forall b. Data b => b -> b) -> Bool -> Bool Исходный код

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Bool -> r Исходный код

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Bool -> r Исходный код

gmapQ :: (forall d. Data d => d -> u) -> Bool -> [u] Исходный код

gmapQi :: Int -> (forall d. Data d => d -> u) -> Bool -> u Исходный код

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Bool -> m Bool Исходный код

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Bool -> m Bool Исходный код

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Bool -> m Bool Исходный код

Bounded Bool Исходный код

С тех пор как: base-2.1

Подробности экземпляра

Определено в GHC.Internal.Enum

Методы

minBound :: Bool Исходный код

maxBound :: Bool Исходный код

Enum Bool Исходный код

С тех пор как: base-2.1

Подробности экземпляра

Определено в GHC.Internal.Enum

Методы

succ :: Bool -> Bool Исходный код

pred :: Bool -> Bool Исходный код

toEnum :: Int -> Bool Исходный код

fromEnum :: Bool -> Int Исходный код

enumFrom :: Bool -> [Bool] Исходный код

enumFromThen :: Bool -> Bool -> [Bool] Исходный код

enumFromTo :: Bool -> Bool -> [Bool] Исходный код

enumFromThenTo :: Bool -> Bool -> Bool -> [Bool] Исходный код

Storable Bool Исходный код

С тех пор как: base-2.1

Подробности экземпляра

Определено в GHC.Internal.Foreign.Storable

Методы

sizeOf :: Bool -> Int Исходный код

alignment :: Bool -> Int Исходный код

peekElemOff :: Ptr Bool -> Int -> IO Bool Исходный код

pokeElemOff :: Ptr Bool -> Int -> Bool -> IO () Исходный код

peekByteOff :: Ptr b -> Int -> IO Bool Исходный код

pokeByteOff :: Ptr b -> Int -> Bool -> IO () Исходный код

peek :: Ptr Bool -> IO Bool Исходный код

poke :: Ptr Bool -> Bool -> IO () Исходный код

Generic Bool Исходный код
Подробности экземпляра

Определено в GHC.Internal.Generics

Связанные типы

type Rep Bool

С версии: base-4.6.0.0

Подробности экземпляра

Определено в 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))

Методы

from :: Bool -> Rep Bool x Исходный код

to :: Rep Bool x -> Bool Исходный код

SingKind Bool

С версии: base-4.9.0.0

Подробности экземпляра

Определено в GHC.Internal.Generics

Связанные типы

type DemoteRep Bool
Подробности экземпляра

Определено в GHC.Internal.Generics

type DemoteRep Bool = Bool

Методы

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

Ix Bool Исходный код

С версии: base-2.1

Подробности экземпляра

Определено в GHC.Internal.Ix

Методы

range :: (Булево, Булево) -> [Булево] Исходный код

index :: (Булево, Булево) -> Булево -> Целое Исходный код

unsafeIndex :: (Булево, Булево) -> Булево -> Целое Исходный код

inRange :: (Булево, Булево) -> Булево -> Булево Исходный код

rangeSize :: (Булево, Булево) -> Целое Исходный код

unsafeRangeSize :: (Булево, Булево) -> Целое Исходный код

Read Булево Исходный код

С момента: base-2.1

Подробности экземпляра

Определено в GHC.Internal.Read

Методы

readsPrec :: Целое -> ReadS Булево Исходный код

readList :: ReadS [Булево] Исходный код

readPrec :: ReadPrec Булево Исходный код

readListPrec :: ReadPrec [Булево] Исходный код

Show Булево Исходный код

С момента: base-2.1

Подробности экземпляра

Определено в GHC.Internal.Show

Методы

showsPrec :: Целое -> Булево -> ShowS Исходный код

show :: Булево -> Строка Исходный код

showList :: [Булево] -> ShowS Исходный код

Eq Булево Исходный код
Подробности экземпляра

Определено в GHC.Classes

Методы

(==) :: Булево -> Булево -> Булево Исходный код

(/=) :: Булево -> Булево -> Булево Исходный код

Ord Булево Исходный код
Подробности экземпляра

Определено в GHC.Classes

Методы

compare :: Булево -> Булево -> Ordering Исходный код

(<) :: Булево -> Булево -> Булево Исходный код

(<=) :: Булево -> Булево -> Булево Исходный код

(>) :: Булево -> Булево -> Булево Исходный код

(>=) :: Булево -> Булево -> Булево Исходный код

max :: Булево -> Булево -> Булево Исходный код

min :: Булево -> Булево -> Булево Исходный код

SingI 'False

С момента: base-4.9.0.0

Подробности экземпляра

Определено в GHC.Internal.Generics

Методы

sing :: Sing 'Ложь

SingI 'Истина

С момента: base-4.9.0.0

Подробности экземпляра

Определено в GHC.Internal.Generics

Методы

sing :: Sing 'Истина

Lift Bool Исходный код
Подробности экземпляра

Определено в GHC.Internal.TH.Lift

Методы

lift :: Quote m => Bool -> m Exp Исходный код

liftTyped :: forall (m :: Тип -> Тип). Quote m => Bool -> Код m Bool Исходный код

type DemoteRep Bool Исходный код
Подробности экземпляра

Определено в GHC.Internal.Generics

type DemoteRep Bool = Bool
type Rep Bool Исходный код

С момента: base-4.6.0.0

Подробности экземпляра

Определено в GHC.Internal.Generics

type Rep Bool = D1 ('MetaData "Bool" "GHC.Types" "ghc-prim" 'Ложь) (C1 ('MetaCons "Ложь" 'PrefixI 'Ложь) (U1 :: Тип -> Тип) :+: C1 ('MetaCons "Истина" 'PrefixI 'Ложь) (U1 :: Тип -> Тип))
data Sing (a :: Bool) Исходный код
Подробности экземпляра

Определено в GHC.Internal.Generics

data Sing (a :: Bool) where
  • STrue :: Sing 'Истина
  • SFalse :: Sing 'Ложь

Операции

(&&) :: Bool -> Bool -> Bool infixr 3 Исходный код

Булево "и", ленивое во втором аргументе

(||) :: Bool -> Bool -> Bool infixr 2 Исходный код

Булево "или", ленивое во втором аргументе

not :: Bool -> Bool Исходный код

Булево "не"

otherwise :: Bool Исходный код

otherwise определяется как значение True. Помогает сделать условия более читаемыми. Пример:

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

bool :: a -> a -> Bool -> a Исходный код

Анализ случаев для типа Bool. bool f t p вычисляется в f когда p равно False, и вычисляется в t когда p равно True.

Это эквивалентно if p then t else f; то есть, можно представить его как конструкцию if-then-else с переупорядоченными аргументами.

Примеры
Развернуть

Базовое использование:

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

Подтвердите, что bool f t p и if p then t else f эквивалентны:

>>> 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

С момента: 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API