Safe Haskell | None |
---|
Documentation
data EgisonTopExpr Source
data EgisonExpr Source
type BindingExpr = ([String], EgisonExpr)Source
type MatchClause = (EgisonPattern, EgisonExpr)Source
type MatcherInfo = [(PrimitivePatPattern, EgisonExpr, [(PrimitiveDataPattern, EgisonExpr)])]Source
data EgisonPattern Source
data EgisonValue Source
type Matcher = (Env, MatcherInfo)Source
type PrimitiveFunc = [WHNFData] -> EgisonM EgisonValueSource
data Intermediate Source
data MatchingState Source
MState Env [LoopContext] [Binding] [MatchingTree] |
type PatternBinding = (Var, EgisonPattern)Source
data EgisonError Source
liftError :: MonadError e m => Either e a -> m aSource
MonadTrans FreshT | |
MonadError e m => MonadError e (FreshT m) | |
Monad m => MonadState Int (FreshT m) | |
MonadState s m => MonadState s (FreshT m) | |
Monad m => Monad (FreshT m) | |
Functor m => Functor (FreshT m) | |
(Monad m, Functor m) => Applicative (FreshT m) | |
MonadIO (FreshT IO) | |
(Applicative m, Monad m) => MonadFresh (FreshT m) |
class (Applicative m, Monad m) => MonadFresh m whereSource
MonadFresh EgisonM | |
MonadFresh DesugarM | |
(Applicative m, Monad m) => MonadFresh (FreshT m) | |
(MonadFresh m, Monoid e) => MonadFresh (ReaderT e m) | |
(MonadFresh m, Error e) => MonadFresh (ErrorT e m) | |
MonadFresh m => MonadFresh (StateT s m) | |
(MonadFresh m, Monoid e) => MonadFresh (WriterT e m) |
runEgisonM :: EgisonM a -> FreshT IO (Either EgisonError a)Source
liftEgisonM :: Fresh (Either EgisonError a) -> EgisonM aSource
msingleton :: Monad m => a -> MList m aSource