symantic-lib-0.0.5.20190614: Symantics for common types.

Safe HaskellNone
LanguageHaskell2010

Language.Symantic.Lib.If

Contents

Description

Symantic for If.

Synopsis

Type If

data If Source #

Instances
ClassInstancesFor If Source # 
Instance details

Defined in Language.Symantic.Lib.If

Methods

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

TypeInstancesFor If Source # 
Instance details

Defined in Language.Symantic.Lib.If

Methods

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

NameTyOf If Source # 
Instance details

Defined in Language.Symantic.Lib.If

Methods

nameTyOf :: proxy If -> Mod NameTy #

isNameTyOp :: proxy If -> Bool #

ModuleFor src ss If Source # 
Instance details

Defined in Language.Symantic.Lib.If

Methods

moduleFor :: (PathMod, Module src ss) #

Gram_Term_AtomsFor src ss g If Source # 
Instance details

Defined in Language.Symantic.Lib.If

Methods

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

type Sym If Source # 
Instance details

Defined in Language.Symantic.Lib.If

type Sym If = Sym_If

Class Sym_If

class Sym_If term where Source #

Minimal complete definition

Nothing

Methods

if_ :: term Bool -> term a -> term a -> term a Source #

if_ :: Sym_If (UnT term) => Trans term => term Bool -> term a -> term a -> term a Source #

Instances
Sym_If View Source # 
Instance details

Defined in Language.Symantic.Lib.If

Methods

if_ :: View Bool -> View a -> View a -> View a Source #

Sym_If Eval Source # 
Instance details

Defined in Language.Symantic.Lib.If

Methods

if_ :: Eval Bool -> Eval a -> Eval a -> Eval a Source #

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

Defined in Language.Symantic.Lib.If

Methods

if_ :: BetaT term Bool -> BetaT term a -> BetaT term a -> BetaT term a Source #

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

Defined in Language.Symantic.Lib.If

Methods

if_ :: Dup r1 r2 Bool -> Dup r1 r2 a -> Dup r1 r2 a -> Dup r1 r2 a Source #

Types

Terms

teIf_if :: TermDef If '[Proxy a] (() #> (Bool -> a -> a -> a)) Source #