inferno-types-0.1.0.0: Core types for Inferno
Safe HaskellSafe-Inferred
LanguageHaskell2010

Inferno.Types.Value

Documentation

data Value custom m Source #

Instances

Instances details
Eq c => Eq (Value c m) Source # 
Instance details

Defined in Inferno.Types.Value

Methods

(==) :: Value c m -> Value c m -> Bool #

(/=) :: Value c m -> Value c m -> Bool #

Pretty c => Pretty (Value c m) Source # 
Instance details

Defined in Inferno.Types.Value

Methods

pretty :: Value c m -> Doc ann #

prettyList :: [Value c m] -> Doc ann #

Monad m => MonadReader (Map ExtIdent (Value c (ImplEnvM m c))) (ImplEnvM m c) Source # 
Instance details

Defined in Inferno.Types.Value

Methods

ask :: ImplEnvM m c (Map ExtIdent (Value c (ImplEnvM m c))) #

local :: (Map ExtIdent (Value c (ImplEnvM m c)) -> Map ExtIdent (Value c (ImplEnvM m c))) -> ImplEnvM m c a -> ImplEnvM m c a #

reader :: (Map ExtIdent (Value c (ImplEnvM m c)) -> a) -> ImplEnvM m c a #

newtype ImplEnvM m c a Source #

Constructors

ImplEnvM 

Fields

Instances

Instances details
MonadError e m => MonadError e (ImplEnvM m c) Source # 
Instance details

Defined in Inferno.Types.Value

Methods

throwError :: e -> ImplEnvM m c a #

catchError :: ImplEnvM m c a -> (e -> ImplEnvM m c a) -> ImplEnvM m c a #

MonadFix m => MonadFix (ImplEnvM m c) Source # 
Instance details

Defined in Inferno.Types.Value

Methods

mfix :: (a -> ImplEnvM m c a) -> ImplEnvM m c a #

MonadIO m => MonadIO (ImplEnvM m c) Source # 
Instance details

Defined in Inferno.Types.Value

Methods

liftIO :: IO a -> ImplEnvM m c a #

Applicative m => Applicative (ImplEnvM m c) Source # 
Instance details

Defined in Inferno.Types.Value

Methods

pure :: a -> ImplEnvM m c a #

(<*>) :: ImplEnvM m c (a -> b) -> ImplEnvM m c a -> ImplEnvM m c b #

liftA2 :: (a -> b -> c0) -> ImplEnvM m c a -> ImplEnvM m c b -> ImplEnvM m c c0 #

(*>) :: ImplEnvM m c a -> ImplEnvM m c b -> ImplEnvM m c b #

(<*) :: ImplEnvM m c a -> ImplEnvM m c b -> ImplEnvM m c a #

Functor m => Functor (ImplEnvM m c) Source # 
Instance details

Defined in Inferno.Types.Value

Methods

fmap :: (a -> b) -> ImplEnvM m c a -> ImplEnvM m c b #

(<$) :: a -> ImplEnvM m c b -> ImplEnvM m c a #

Monad m => Monad (ImplEnvM m c) Source # 
Instance details

Defined in Inferno.Types.Value

Methods

(>>=) :: ImplEnvM m c a -> (a -> ImplEnvM m c b) -> ImplEnvM m c b #

(>>) :: ImplEnvM m c a -> ImplEnvM m c b -> ImplEnvM m c b #

return :: a -> ImplEnvM m c a #

Monad m => MonadReader (Map ExtIdent (Value c (ImplEnvM m c))) (ImplEnvM m c) Source # 
Instance details

Defined in Inferno.Types.Value

Methods

ask :: ImplEnvM m c (Map ExtIdent (Value c (ImplEnvM m c))) #

local :: (Map ExtIdent (Value c (ImplEnvM m c)) -> Map ExtIdent (Value c (ImplEnvM m c))) -> ImplEnvM m c a -> ImplEnvM m c a #

reader :: (Map ExtIdent (Value c (ImplEnvM m c)) -> a) -> ImplEnvM m c a #

runImplEnvM :: Map ExtIdent (Value c (ImplEnvM m c)) -> ImplEnvM m c a -> m a Source #

newtype ImplicitCast (lbl :: Symbol) a b c Source #

Constructors

ImplicitCast (a -> b -> c)