Spec-Zone.ru › Haskell 9

Data.Type.Bool

Лицензия В стиле BSD (см. файл LICENSE в дистрибутиве)
Сопровождающий libraries@haskell.org
Стабильность стабильная
Переносимость непереносимый
Безопасный Haskell Безопасный
Язык Haskell2010

Описание

Базовые операции над логическими значениями на уровне типов.

С версии: base-4.7.0.0

type family If (cond :: Bool) (tru :: k) (fls :: k) :: k where ... Источник

Условный оператор If на уровне типов. If True a b ==> a; If False a b ==> b

Уравнения

If 'True (tru :: k) (fls :: k) = tru
If 'False (tru :: k) (fls :: k) = fls

type family (a :: Bool) && (b :: Bool) :: Bool where ... infixr 3 Источник

Конъюнкция на уровне типов

Уравнения

'False && a = 'False
'True && a = a
a && 'False = 'False
a && 'True = a
a && a = a

type family (a :: Bool) || (b :: Bool) :: Bool where ... infixr 2 Источник

Дизъюнкция на уровне типов

Уравнения

'False || a = a
'True || a = 'True
a || 'False = a
a || 'True = 'True
a || a = a

type family Not (a :: Bool) = (res :: Bool) | res -> a where ... Источник

Отрицание на уровне типов. Инъективное семейство типов, начиная с 4.10.0.0.

С версии: base-4.7.0.0

Уравнения

Not 'False = 'True
Not 'True = 'False

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.14.1/docs/libraries/base-4.22.0.0-66f8/Data-Type-Bool.html

Spec-Zone.ru

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