Safe Haskell | None |
---|---|
Language | Haskell98 |
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 EgisonValue Source
data Intermediate Source
data MatchingState Source
MState Env [LoopContext] [Binding] [MatchingTree] |
type PatternBinding = (Var, EgisonPattern) Source
data LoopContext Source
data EgisonError Source
liftError :: MonadError e m => Either e a -> m a Source
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 where Source
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 a Source
msingleton :: Monad m => a -> MList m a Source