Safe Haskell | Safe-Infered |
---|
- data EgisonError
- showError :: EgisonError -> String
- type ThrowsError = Either EgisonError
- trapError :: (MonadError e m, Show e) => m String -> m String
- extractValue :: ThrowsError a -> a
- type IOThrowsError = ErrorT EgisonError IO
- liftThrows :: ThrowsError a -> IOThrowsError a
- runIOThrowsREPL :: IOThrowsError String -> IO String
- runIOThrows :: IOThrowsError String -> IO (Maybe String)
- data TopExpr
- data EgisonExpr
- = CharExpr Char
- | StringExpr String
- | BoolExpr Bool
- | NumberExpr Integer
- | FloatExpr Double
- | VarExpr String [EgisonExpr]
- | SymbolExpr String [EgisonExpr]
- | PatVarExpr String [EgisonExpr]
- | WildCardExpr
- | PatVarOmitExpr EgisonExpr
- | CutPatExpr EgisonExpr
- | NotPatExpr EgisonExpr
- | AndPatExpr [EgisonExpr]
- | OrPatExpr [EgisonExpr]
- | PredPatExpr String [EgisonExpr]
- | InductiveDataExpr String [EgisonExpr]
- | TupleExpr [InnerExpr]
- | CollectionExpr [InnerExpr]
- | FuncExpr Args EgisonExpr
- | LoopExpr String String EgisonExpr EgisonExpr EgisonExpr
- | ParamsExpr String EgisonExpr EgisonExpr
- | IfExpr EgisonExpr EgisonExpr EgisonExpr
- | LetExpr Bindings EgisonExpr
- | LetRecExpr RecursiveBindings EgisonExpr
- | DoExpr Bindings EgisonExpr
- | TypeExpr RecursiveBindings
- | TypeRefExpr EgisonExpr String
- | DestructorExpr DestructInfoExpr
- | MatchExpr EgisonExpr EgisonExpr [MatchClause]
- | MatchAllExpr EgisonExpr EgisonExpr MatchClause
- | ApplyExpr EgisonExpr EgisonExpr
- type ArgsExpr = Args
- type MatchClause = (EgisonExpr, EgisonExpr)
- data PrimitivePattern
- data InnerExpr
- type Bindings = [(Args, EgisonExpr)]
- type RecursiveBindings = [(String, EgisonExpr)]
- type DestructInfoExpr = [(String, EgisonExpr, [(PrimitivePattern, EgisonExpr)])]
- type ObjectRef = IORef Object
- data Object
- data EgisonVal
- = World [Action]
- | Char Char
- | String String
- | Bool Bool
- | Number Integer
- | Float Double
- | WildCard
- | PatVar String [Integer]
- | PredPat String [ObjectRef]
- | CutPat ObjectRef
- | NotPat ObjectRef
- | AndPat [ObjectRef]
- | OrPat [ObjectRef]
- | InductiveData String [EgisonVal]
- | Tuple [InnerVal]
- | Collection [InnerVal]
- | Type Frame
- | Destructor DestructInfo
- | Func Args EgisonExpr Env
- | PrimitiveFunc ([EgisonVal] -> ThrowsError EgisonVal)
- | IOFunc ([EgisonVal] -> IOThrowsError EgisonVal)
- | Port String Handle
- | EOF
- data IntermidiateVal
- = IInductiveData String [ObjectRef]
- | ITuple [InnerValRef]
- | ICollection [InnerValRef]
- data Action
- data Args
- data InnerVal
- innerValsToList :: [InnerVal] -> [EgisonVal]
- tupleToList :: EgisonVal -> [EgisonVal]
- collectionToList :: EgisonVal -> [EgisonVal]
- valsToObjRefList :: [EgisonVal] -> IO [ObjectRef]
- makeTupleFromValList :: [EgisonVal] -> EgisonVal
- makeCollectionFromValList :: [EgisonVal] -> EgisonVal
- data InnerValRef
- type DestructInfo = [(String, ObjectRef, [(Env, PrimitivePattern, EgisonExpr)])]
- type VarExpr = (String, [EgisonExpr])
- type Var = (String, [Integer])
- type FrameList = [(Var, ObjectRef)]
- type Frame = Map Var ObjectRef
- type FrameRef = IORef Frame
- data Env = Environment {
- parentEnv :: Maybe Env
- topFrameRef :: FrameRef
- nullEnv :: IO Env
- makeClosure :: Env -> EgisonExpr -> IO ObjectRef
- makeInnerValRef :: Env -> InnerExpr -> IO InnerValRef
- data MatchFlag
- data PClosure = PClosure {}
- data MAtom = MAtom {}
- data MState = MState {}
- unwordsList :: Show a => [a] -> String
- unwordsNums :: Show a => [a] -> String
- showVar :: (String, [Integer]) -> String
- showBindings :: Bindings -> String
- showRecursiveBindings :: RecursiveBindings -> String
- showExpr :: EgisonExpr -> String
- eqv :: [EgisonVal] -> ThrowsError EgisonVal
- eqValList :: [EgisonVal] -> [EgisonVal] -> Bool
- eqVal :: EgisonVal -> EgisonVal -> Bool
- showVal :: EgisonVal -> String
- showInnerVals :: [InnerVal] -> String
- showIVal :: IntermidiateVal -> String
- showObj :: Object -> String
- showFrameList :: FrameList -> String
- stringToCharCollection :: String -> IO EgisonVal
Documentation
data EgisonError Source
showError :: EgisonError -> StringSource
type ThrowsError = Either EgisonErrorSource
extractValue :: ThrowsError a -> aSource
type IOThrowsError = ErrorT EgisonError IOSource
liftThrows :: ThrowsError a -> IOThrowsError aSource
runIOThrows :: IOThrowsError String -> IO (Maybe String)Source
data EgisonExpr Source
Show EgisonExpr | Allow conversion of egisonexpr instances to strings |
type MatchClause = (EgisonExpr, EgisonExpr)Source
data PrimitivePattern Source
type Bindings = [(Args, EgisonExpr)]Source
type RecursiveBindings = [(String, EgisonExpr)]Source
type DestructInfoExpr = [(String, EgisonExpr, [(PrimitivePattern, EgisonExpr)])]Source
data IntermidiateVal Source
Show IntermidiateVal | Allow conversion of egisonfixedval instances to strings |
innerValsToList :: [InnerVal] -> [EgisonVal]Source
tupleToList :: EgisonVal -> [EgisonVal]Source
collectionToList :: EgisonVal -> [EgisonVal]Source
valsToObjRefList :: [EgisonVal] -> IO [ObjectRef]Source
type DestructInfo = [(String, ObjectRef, [(Env, PrimitivePattern, EgisonExpr)])]Source
type VarExpr = (String, [EgisonExpr])Source
makeClosure :: Env -> EgisonExpr -> IO ObjectRefSource
makeInnerValRef :: Env -> InnerExpr -> IO InnerValRefSource
unwordsList :: Show a => [a] -> StringSource
Convert a list of Egison objects into a space-separated string
unwordsNums :: Show a => [a] -> StringSource
Convert a list of Egison objects into a '_'-separated string
showBindings :: Bindings -> StringSource
showExpr :: EgisonExpr -> StringSource
eqv :: [EgisonVal] -> ThrowsError EgisonValSource
showInnerVals :: [InnerVal] -> StringSource