symantic-lib-0.0.3.20180213: 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 #

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 # 
Sym_Bool Eval Source # 
(Sym_Lambda term, Sym_Bool term) => Sym_Bool (BetaT term) Source # 

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 # 

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 # 

Methods

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

TypeInstancesFor * Bool Source # 

Methods

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

NameTyOf * Bool Source # 

Methods

nameTyOf :: proxy c -> Mod NameTy #

isNameTyOp :: proxy c -> Bool #

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

Methods

moduleFor :: (PathMod, Module ss Bool) #

Gram_Term_AtomsFor * src ss g Bool Source # 

Methods

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