symantic-base-0.5.0.20221211: Basic symantic combinators for Embedded Domain-Specific Languages (EDSL)
Safe HaskellSafe-Inferred
LanguageHaskell2010

Symantic.Semantics.Reader

Contents

Synopsis

Type Reader

newtype Reader r sem a Source #

An intermediate interpreter exposing an environment.

Constructors

Reader 

Fields

Instances

Instances details
Constantable c sem => Constantable c (Reader r sem) Source # 
Instance details

Defined in Symantic.Semantics.Reader

Methods

constant :: c -> Reader r sem c Source #

Abstractable sem => Abstractable (Reader r sem) Source # 
Instance details

Defined in Symantic.Semantics.Reader

Methods

lam :: (Reader r sem a -> Reader r sem b) -> Reader r sem (a -> b) Source #

lam1 :: (Reader r sem a -> Reader r sem b) -> Reader r sem (a -> b) Source #

var :: Reader r sem a -> Reader r sem a Source #

AlternativeFunctor sem => AlternativeFunctor (Reader r sem) Source # 
Instance details

Defined in Symantic.Semantics.Reader

Methods

(<|>) :: Reader r sem a -> Reader r sem a -> Reader r sem a Source #

Anythingable sem => Anythingable (Reader r sem) Source # 
Instance details

Defined in Symantic.Semantics.Reader

Methods

anything :: Reader r sem a -> Reader r sem a Source #

Dicurryable sem => Dicurryable (Reader r sem) Source # 
Instance details

Defined in Symantic.Semantics.Reader

Methods

dicurry :: forall (args :: [Type]) proxy a. CurryN args => proxy args -> (args -..-> a) -> (a -> Tuples args) -> Reader r sem (Tuples args) -> Reader r sem a Source #

Eitherable sem => Eitherable (Reader r sem) Source # 
Instance details

Defined in Symantic.Semantics.Reader

Methods

either :: Reader r sem ((l -> a) -> (r0 -> a) -> Either l r0 -> a) Source #

left :: Reader r sem (l -> Either l r0) Source #

right :: Reader r sem (r0 -> Either l r0) Source #

Emptyable sem => Emptyable (Reader r sem) Source # 
Instance details

Defined in Symantic.Semantics.Reader

Methods

empty :: Reader r sem a Source #

Equalable sem => Equalable (Reader r sem) Source # 
Instance details

Defined in Symantic.Semantics.Reader

Methods

equal :: Eq a => Reader r sem (a -> a -> Bool) Source #

Functionable sem => Functionable (Reader r sem) Source # 
Instance details

Defined in Symantic.Semantics.Reader

Methods

const :: Reader r sem (a -> b -> a) Source #

flip :: Reader r sem ((a -> b -> c) -> b -> a -> c) Source #

id :: Reader r sem (a -> a) Source #

(.) :: Reader r sem ((b -> c) -> (a -> b) -> a -> c) Source #

($) :: Reader r sem ((a -> b) -> a -> b) Source #

IfThenElseable sem => IfThenElseable (Reader r sem) Source # 
Instance details

Defined in Symantic.Semantics.Reader

Methods

ifThenElse :: Reader r sem Bool -> Reader r sem a -> Reader r sem a -> Reader r sem a Source #

IsoFunctor sem => IsoFunctor (Reader r sem) Source # 
Instance details

Defined in Symantic.Semantics.Reader

Methods

(<%>) :: Iso a b -> Reader r sem a -> Reader r sem b Source #

Listable sem => Listable (Reader r sem) Source # 
Instance details

Defined in Symantic.Semantics.Reader

Methods

cons :: Reader r sem (a -> [a] -> [a]) Source #

nil :: Reader r sem [a] Source #

Maybeable sem => Maybeable (Reader r sem) Source # 
Instance details

Defined in Symantic.Semantics.Reader

Methods

nothing :: Reader r sem (Maybe a) Source #

just :: Reader r sem (a -> Maybe a) Source #

Optionable sem => Optionable (Reader r sem) Source # 
Instance details

Defined in Symantic.Semantics.Reader

Methods

optional :: Reader r sem a -> Reader r sem (Maybe a) Source #

(ProductFunctor sem, IsoFunctor sem) => ProductFunctor (Reader r sem) Source # 
Instance details

Defined in Symantic.Semantics.Reader

Methods

(<.>) :: Reader r sem a -> Reader r sem b -> Reader r sem (a, b) Source #

(<.) :: Reader r sem a -> Reader r sem () -> Reader r sem a Source #

(.>) :: Reader r sem () -> Reader r sem a -> Reader r sem a Source #

Repeatable sem => Repeatable (Reader r sem) Source # 
Instance details

Defined in Symantic.Semantics.Reader

Methods

many0 :: Reader r sem a -> Reader r sem [a] Source #

many1 :: Reader r sem a -> Reader r sem [a] Source #

Semigroupable sem => Semigroupable (Reader r sem) Source # 
Instance details

Defined in Symantic.Semantics.Reader

Methods

concat :: Semigroup a => Reader r sem (a -> a -> a) Source #

Substractable sem => Substractable (Reader r sem) Source # 
Instance details

Defined in Symantic.Semantics.Reader

Methods

(<->) :: Reader r sem a -> Reader r sem b -> Reader r sem a Source #

(SumFunctor sem, IsoFunctor sem) => SumFunctor (Reader r sem) Source # 
Instance details

Defined in Symantic.Semantics.Reader

Methods

(<+>) :: Reader r sem a -> Reader r sem b -> Reader r sem (Either a b) Source #

Unabstractable sem => Unabstractable (Reader r sem) Source # 
Instance details

Defined in Symantic.Semantics.Reader

Methods

(.@) :: Reader r sem (a -> b) -> Reader r sem a -> Reader r sem b Source #

Voidable sem => Voidable (Reader r sem) Source # 
Instance details

Defined in Symantic.Semantics.Reader

Methods

void :: a -> Reader r sem a -> Reader r sem () Source #

LiftDerived (Reader r sem) Source # 
Instance details

Defined in Symantic.Semantics.Reader

Methods

liftDerived :: Derived (Reader r sem) a -> Reader r sem a Source #

LiftDerived1 (Reader r sem) Source # 
Instance details

Defined in Symantic.Semantics.Reader

Methods

liftDerived1 :: (Derived (Reader r sem) a -> Derived (Reader r sem) b) -> Reader r sem a -> Reader r sem b Source #

LiftDerived2 (Reader r sem) Source # 
Instance details

Defined in Symantic.Semantics.Reader

Methods

liftDerived2 :: (Derived (Reader r sem) a -> Derived (Reader r sem) b -> Derived (Reader r sem) c) -> Reader r sem a -> Reader r sem b -> Reader r sem c Source #

LiftDerived3 (Reader r sem) Source # 
Instance details

Defined in Symantic.Semantics.Reader

Methods

liftDerived3 :: (Derived (Reader r sem) a -> Derived (Reader r sem) b -> Derived (Reader r sem) c -> Derived (Reader r sem) d) -> Reader r sem a -> Reader r sem b -> Reader r sem c -> Reader r sem d Source #

LiftDerived4 (Reader r sem) Source # 
Instance details

Defined in Symantic.Semantics.Reader

Methods

liftDerived4 :: (Derived (Reader r sem) a -> Derived (Reader r sem) b -> Derived (Reader r sem) c -> Derived (Reader r sem) d -> Derived (Reader r sem) e) -> Reader r sem a -> Reader r sem b -> Reader r sem c -> Reader r sem d -> Reader r sem e Source #

type Derived (Reader r sem) Source # 
Instance details

Defined in Symantic.Semantics.Reader

type Derived (Reader r sem) = sem