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

Minimal complete definition

Nothing

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 View Source # 
Instance details

Defined in Language.Symantic.Lib.Applicative

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_Applicative Eval Source # 
Instance details

Defined in Language.Symantic.Lib.Applicative

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_Lambda term, Sym_Applicative term) => Sym_Applicative (BetaT term) Source # 
Instance details

Defined in Language.Symantic.Lib.Applicative

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 # 
Instance details

Defined in Language.Symantic.Lib.Applicative

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 Applicative Source # 
Instance details

Methods

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

TypeInstancesFor Applicative Source # 
Instance details

Methods

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

NameTyOf Applicative Source # 
Instance details

Methods

nameTyOf :: proxy Applicative -> Mod NameTy #

isNameTyOp :: proxy Applicative -> Bool #

FixityOf Applicative Source # 
Instance details

Methods

fixityOf :: proxy Applicative -> Maybe Fixity #

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

Methods

moduleFor :: (PathMod, Module src ss) #

Gram_Term_AtomsFor src ss g Applicative Source # 
Instance details

Methods

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