| Safe Haskell | None |
|---|
Language.Egison.Types
Documentation
data EgisonTopExpr Source
Instances
data EgisonExpr Source
Constructors
Instances
type BindingExpr = ([String], EgisonExpr)Source
type MatchClause = (EgisonExpr, EgisonExpr)Source
type MatcherInfo = [(PrimitivePatPattern, EgisonExpr, [(PrimitiveDataPattern, EgisonExpr)])]Source
data EgisonPattern Source
Constructors
| WildCard | |
| PatVar String [EgisonExpr] | |
| ValuePat EgisonExpr | |
| PredPat EgisonExpr | |
| CutPat EgisonExpr | |
| NotPat EgisonExpr | |
| AndPat [EgisonExpr] | |
| OrPat [EgisonExpr] | |
| InductivePattern String [EgisonExpr] |
Instances
data PrimitivePatPattern Source
Constructors
| PPWildCard | |
| PPPatVar | |
| PPValuePat String | |
| PPInductivePat String [PrimitivePatPattern] |
Instances
data PrimitiveDataPattern Source
Constructors
Instances
Constructors
| ElementExpr EgisonExpr | |
| SubCollectionExpr EgisonExpr |
data EgisonValue Source
Constructors
Instances
type Matcher = (Env, MatcherInfo)Source
type PrimitiveFunc = [WHNFData] -> Either EgisonError EgisonValueSource
type IOFunc = [WHNFData] -> EgisonM EgisonValueSource
data Intermediate Source
Constructors
| IInductiveData String [ObjectRef] | |
| ITuple [ObjectRef] | |
| ICollection [Inner] |
data MatchingState Source
Constructors
| MState Env [Binding] [MatchingTree] |
data MatchingTree Source
Constructors
| MAtom EgisonExpr ObjectRef WHNFData | |
| MNode [PatternBinding] MatchingState |
type PatternBinding = (Var, EgisonExpr)Source
data EgisonError Source
liftError :: MonadError e m => Either e a -> m aSource
Constructors
| EgisonM | |
Fields
| |
runEgisonM :: EgisonM a -> IO (Either EgisonError a)Source
msingleton :: Monad m => a -> MList m aSource