symantic-lib-0.0.5.20190614: Symantics for common types.

Safe HaskellNone
LanguageHaskell2010

Language.Symantic.Lib.Alternative

Contents

Description

Symantic for Alternative.

Synopsis

Class Sym_Alternative

class Sym_Functor term => Sym_Alternative term where Source #

Minimal complete definition

Nothing

Methods

empty :: Alternative f => term (f a) Source #

(<|>) :: Alternative f => term (f a) -> term (f a) -> term (f a) infixl 3 Source #

empty :: Sym_Alternative (UnT term) => Trans term => Alternative f => term (f a) Source #

(<|>) :: Sym_Alternative (UnT term) => Trans term => Alternative f => term (f a) -> term (f a) -> term (f a) infixl 3 Source #

Instances
Sym_Alternative View Source # 
Instance details

Defined in Language.Symantic.Lib.Alternative

Methods

empty :: Alternative f => View (f a) Source #

(<|>) :: Alternative f => View (f a) -> View (f a) -> View (f a) Source #

Sym_Alternative Eval Source # 
Instance details

Defined in Language.Symantic.Lib.Alternative

Methods

empty :: Alternative f => Eval (f a) Source #

(<|>) :: Alternative f => Eval (f a) -> Eval (f a) -> Eval (f a) Source #

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

Defined in Language.Symantic.Lib.Alternative

Methods

empty :: Alternative f => BetaT term (f a) Source #

(<|>) :: Alternative f => BetaT term (f a) -> BetaT term (f a) -> BetaT term (f a) Source #

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

Defined in Language.Symantic.Lib.Alternative

Methods

empty :: Alternative f => Dup r1 r2 (f a) Source #

(<|>) :: Alternative f => Dup r1 r2 (f a) -> Dup r1 r2 (f a) -> Dup r1 r2 (f a) Source #

Types

tyAlternative :: Source src => Type src vs a -> Type src vs (Alternative a) Source #

Terms

Orphan instances

ClassInstancesFor Alternative Source # 
Instance details

Methods

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

TypeInstancesFor Alternative Source # 
Instance details

Methods

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

NameTyOf Alternative Source # 
Instance details

Methods

nameTyOf :: proxy Alternative -> Mod NameTy #

isNameTyOp :: proxy Alternative -> Bool #

FixityOf Alternative Source # 
Instance details

Methods

fixityOf :: proxy Alternative -> Maybe Fixity #

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

Methods

moduleFor :: (PathMod, Module src ss) #

Gram_Term_AtomsFor src ss g Alternative Source # 
Instance details

Methods

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