symantic-lib-0.0.2.20170703: Symantics for common types.

Safe HaskellNone
LanguageHaskell2010

Language.Symantic.Lib.Applicative

Contents

Description

Symantic for Applicative.

Synopsis

Class Sym_Applicative

class Sym_Functor term => Sym_Applicative term where Source #

Methods

pure :: Applicative f => term a -> term (f a) Source #

(<*>) :: Applicative f => term (f (a -> b)) -> term (f a) -> term (f b) infixl 4 Source #

(*>) :: Applicative f => term (f a) -> term (f b) -> term (f b) infixl 4 Source #

(<*) :: Applicative f => term (f a) -> term (f b) -> term (f a) infixl 4 Source #

pure :: Sym_Applicative (UnT term) => Trans term => Applicative f => term a -> term (f a) Source #

(<*>) :: Sym_Applicative (UnT term) => Trans term => Applicative f => term (f (a -> b)) -> term (f a) -> term (f b) infixl 4 Source #

(*>) :: Sym_Lambda term => Applicative f => term (f a) -> term (f b) -> term (f b) infixl 4 Source #

(<*) :: Sym_Lambda term => Applicative f => term (f a) -> term (f b) -> term (f a) infixl 4 Source #

Instances

Sym_Applicative Eval Source # 

Methods

pure :: Applicative f => Eval a -> Eval (f a) Source #

(<*>) :: Applicative f => Eval (f (a -> b)) -> Eval (f a) -> Eval (f b) Source #

(*>) :: Applicative f => Eval (f a) -> Eval (f b) -> Eval (f b) Source #

(<*) :: Applicative f => Eval (f a) -> Eval (f b) -> Eval (f a) Source #

Sym_Applicative View Source # 

Methods

pure :: Applicative f => View a -> View (f a) Source #

(<*>) :: Applicative f => View (f (a -> b)) -> View (f a) -> View (f b) Source #

(*>) :: Applicative f => View (f a) -> View (f b) -> View (f b) Source #

(<*) :: Applicative f => View (f a) -> View (f b) -> View (f a) Source #

(Sym_Lambda term, Sym_Applicative term) => Sym_Applicative (BetaT term) Source # 

Methods

pure :: Applicative f => BetaT term a -> BetaT term (f a) Source #

(<*>) :: Applicative f => BetaT term (f (a -> b)) -> BetaT term (f a) -> BetaT term (f b) Source #

(*>) :: Applicative f => BetaT term (f a) -> BetaT term (f b) -> BetaT term (f b) Source #

(<*) :: Applicative f => BetaT term (f a) -> BetaT term (f b) -> BetaT term (f a) Source #

(Sym_Applicative r1, Sym_Applicative r2, Sym_Lambda r1, Sym_Lambda r2) => Sym_Applicative (Dup r1 r2) Source # 

Methods

pure :: Applicative f => Dup r1 r2 a -> Dup r1 r2 (f a) Source #

(<*>) :: Applicative f => Dup r1 r2 (f (a -> b)) -> Dup r1 r2 (f a) -> Dup r1 r2 (f b) Source #

(*>) :: Applicative f => Dup r1 r2 (f a) -> Dup r1 r2 (f b) -> Dup r1 r2 (f b) Source #

(<*) :: Applicative f => Dup r1 r2 (f a) -> Dup r1 r2 (f b) -> Dup r1 r2 (f a) Source #

Types

tyApplicative :: Source src => Type src vs a -> Type src vs (Applicative a) Source #

Terms

teApplicative_app :: TermDef Applicative '[Proxy a, Proxy b, Proxy f] (Applicative f #> (f (a -> b) -> f a -> f b)) Source #

teApplicative_const :: TermDef Applicative '[Proxy a, Proxy b1, Proxy f] (Applicative f #> (f a -> f b1 -> f a)) Source #

Orphan instances

ClassInstancesFor ((* -> *) -> Constraint) Applicative Source # 

Methods

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

TypeInstancesFor ((* -> *) -> Constraint) Applicative 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 ((* -> *) -> Constraint) Applicative Source # 

Methods

nameTyOf :: proxy c -> Mod NameTy #

isNameTyOp :: proxy c -> Bool #

FixityOf ((* -> *) -> Constraint) Applicative Source # 

Methods

fixityOf :: proxy c -> Maybe Fixity #

(Source src, SymInj ((* -> *) -> Constraint) ss Applicative) => ModuleFor ((* -> *) -> Constraint) src ss Applicative Source # 
Gram_Term_AtomsFor ((* -> *) -> Constraint) src ss g Applicative Source #