symantic-lib-0.0.5.20190614: Symantics for common types.

Safe HaskellNone
LanguageHaskell2010

Language.Symantic.Lib.Bool

Contents

Description

Symantic for Bool.

Synopsis

Class Sym_Bool

class Sym_Bool term where Source #

Minimal complete definition

Nothing

Methods

bool :: Bool -> term Bool Source #

not :: term Bool -> term Bool Source #

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

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

xor :: term Bool -> term Bool -> term Bool infixr 2 Source #

bool :: Sym_Bool (UnT term) => Trans term => Bool -> term Bool Source #

not :: Sym_Bool (UnT term) => Trans term => term Bool -> term Bool Source #

(&&) :: Sym_Bool (UnT term) => Trans term => term Bool -> term Bool -> term Bool infixr 3 Source #

(||) :: Sym_Bool (UnT term) => Trans term => term Bool -> term Bool -> term Bool infixr 2 Source #

Instances
Sym_Bool View Source # 
Instance details

Defined in Language.Symantic.Lib.Bool

Sym_Bool Eval Source # 
Instance details

Defined in Language.Symantic.Lib.Bool

(Sym_Lambda term, Sym_Bool term) => Sym_Bool (BetaT term) Source # 
Instance details

Defined in Language.Symantic.Lib.Bool

Methods

bool :: Bool -> BetaT term Bool Source #

not :: BetaT term Bool -> BetaT term Bool Source #

(&&) :: BetaT term Bool -> BetaT term Bool -> BetaT term Bool Source #

(||) :: BetaT term Bool -> BetaT term Bool -> BetaT term Bool Source #

xor :: BetaT term Bool -> BetaT term Bool -> BetaT term Bool Source #

(Sym_Bool r1, Sym_Bool r2) => Sym_Bool (Dup r1 r2) Source # 
Instance details

Defined in Language.Symantic.Lib.Bool

Methods

bool :: Bool -> Dup r1 r2 Bool Source #

not :: Dup r1 r2 Bool -> Dup r1 r2 Bool Source #

(&&) :: Dup r1 r2 Bool -> Dup r1 r2 Bool -> Dup r1 r2 Bool Source #

(||) :: Dup r1 r2 Bool -> Dup r1 r2 Bool -> Dup r1 r2 Bool Source #

xor :: Dup r1 r2 Bool -> Dup r1 r2 Bool -> Dup r1 r2 Bool Source #

Types

tyBool :: Source src => LenInj vs => Type src vs Bool Source #

Terms

teBool :: Source src => SymInj ss Bool => Bool -> Term src ss ts '[] (() #> Bool) Source #

teBool_and :: TermDef Bool '[] (() #> (Bool -> Bool -> Bool)) Source #

teBool_or :: TermDef Bool '[] (() #> (Bool -> Bool -> Bool)) Source #

teBool_xor :: TermDef Bool '[] (() #> (Bool -> Bool -> Bool)) Source #

Orphan instances

ClassInstancesFor Bool Source # 
Instance details

Methods

proveConstraintFor :: Source src => proxy Bool -> Type src vs q -> Maybe (Qual q) #

TypeInstancesFor Bool Source # 
Instance details

Methods

expandFamFor :: Source src => proxy Bool -> Len vs -> Const src fam -> Types src vs ts -> Maybe (Type src vs (Fam fam ts)) #

NameTyOf Bool Source # 
Instance details

Methods

nameTyOf :: proxy Bool -> Mod NameTy #

isNameTyOp :: proxy Bool -> Bool #

(Source src, SymInj ss Bool) => ModuleFor src ss Bool Source # 
Instance details

Methods

moduleFor :: (PathMod, Module src ss) #

Gram_Term_AtomsFor src ss g Bool Source # 
Instance details

Methods

g_term_atomsFor :: [CF g (AST_Term src ss)] #