|
|
|
|
|
|
| Synopsis |
|
| type ArrayIndex = Int | | | class Typeable a => ArrayClass a where | | | | type Layer = VStr | | | type FileDescriptor = VInt | | | class Typeable a => HandleClass a where | | | | type HashIndex = VStr | | | class Typeable a => HashClass a where | | | | class Typeable a => ScalarClass a where | | | | class Typeable a => CodeClass a where | | | | class Typeable a => ThunkClass a where | | | | class Typeable a => RuleClass a where | | | | class Typeable a => PairClass a where | | | | class Typeable a => ObjectClass a where | | | | type Ident = String | | | errIndex :: Show a => Maybe b -> a -> Eval b | | | getIndex :: Int -> Maybe a -> Eval [a] -> Maybe (Eval b) -> Eval a | | | ifValTypeIsa :: Val -> String -> Eval a -> Eval a -> Eval a | | | ifListContext :: MonadReader Env m => m t -> m t -> m t | | | retEmpty :: Eval Val | | | evalValType :: Val -> Eval Type | | | fromVal' :: Value a => Val -> Eval a | | | class (Typeable n, Show n, Ord n) => Value n where | | | | castFailM :: (Show a, Typeable b) => a -> Eval b | | | castFail :: (Show a, Typeable b) => a -> b | | | juncToBool :: VJunc -> Bool | | | showNum :: Show a => a -> String | | | valToStr :: Val -> Eval VStr | | | type VScalar = Val | | | strRangeInf :: String -> [String] | | | strRange :: String -> String -> [String] | | | strInc :: String -> String | | | charInc :: Char -> Char | | | intCast :: Num b => Val -> b | | | type VList = [Val] | | | type VSubst = (VRule, Exp) | | | type VArray = [Val] | | | type VHash = Map VStr Val | | | newtype VThunk = MkThunk (Eval Val) | | | newtype VProcess = MkProcess ProcessHandle | | | type VPair = (Val, Val) | | | | | valType :: Val -> Type | | | type VBlock = Exp | | | | | data VJunc = Junc {} | | | | | | | isSlurpy :: Param -> Bool | | | data Param = MkParam {} | | | type Params = [Param] | | | type Bindings = [(Param, Exp)] | | | type SlurpLimit = [(VInt, Exp)] | | | data VCode = MkCode {} | | | mkPrim :: VCode | | | mkSub :: VCode | | | data Pos = MkPos {} | | | | | class Unwrap a where | | | | fromVals :: Value n => Val -> Eval [n] | | | extractExp :: Exp -> ([Exp], [String]) -> ([Exp], [String]) | | | extract :: Exp -> [String] -> (Exp, [String]) | | | cxtOfSigil :: Char -> Cxt | | | typeOfSigil :: Char -> Type | | | buildParam :: String -> String -> String -> Exp -> Param | | | defaultArrayParam :: Param | | | defaultHashParam :: Param | | | defaultScalarParam :: Param | | | type DebugInfo = Maybe (TVar (Map String String)) | | | data Env = Env {} | | | envWant :: Env -> String | | | data Pad = MkPad !(Map Var [(TVar Bool, TVar VRef)]) | | | mkPad :: [(Var, [(TVar Bool, TVar VRef)])] -> Pad | | | lookupPad :: Var -> Pad -> Maybe [TVar VRef] | | | padToList :: Pad -> [(Var, [(TVar Bool, TVar VRef)])] | | | diffPads :: Pad -> Pad -> Pad | | | unionPads :: Pad -> Pad -> Pad | | | genMultiSym :: MonadSTM m => String -> VRef -> m (Pad -> Pad) | | | genSym :: MonadSTM m => String -> VRef -> m (Pad -> Pad) | | | show' :: Show a => a -> String | | | | | type Eval x = EvalT (ContT Val (ReaderT Env SIO)) x | | | type EvalMonad = EvalT (ContT Val (ReaderT Env SIO)) | | | newtype EvalT m a = EvalT {} | | | | | runSTM :: SIO a -> STM a | | | runIO :: SIO a -> IO a | | | runEvalSTM :: Env -> Eval Val -> STM Val | | | runEvalIO :: Env -> Eval Val -> IO Val | | | shiftT :: ((a -> Eval Val) -> Eval Val) -> Eval a | | | resetT :: Eval Val -> Eval Val | | | class Monad m => MonadSTM m where | | | | runEvalMain :: Env -> Eval Val -> IO Val | | | findSymRef :: MonadSTM m => String -> Pad -> m VRef | | | findSym :: String -> Pad -> Maybe (TVar VRef) | | | class (MonadReader Env m, MonadCont m, MonadIO m, MonadSTM m) => MonadEval m where | |
|
|
| Documentation |
|
| type ArrayIndex = Int |
|
| class Typeable a => ArrayClass a where |
|
|
| type Layer = VStr |
|
| type FileDescriptor = VInt |
|
| class Typeable a => HandleClass a where |
|
|
| type HashIndex = VStr |
|
| class Typeable a => HashClass a where |
|
|
| class Typeable a => ScalarClass a where |
|
|
| class Typeable a => CodeClass a where |
|
|
| class Typeable a => ThunkClass a where |
|
|
| class Typeable a => RuleClass a where |
|
|
| class Typeable a => PairClass a where |
|
|
| class Typeable a => ObjectClass a where |
| | Methods | | object_iType :: a -> Type |
| | | Instances | |
|
|
| type Ident = String |
|
| errIndex :: Show a => Maybe b -> a -> Eval b |
|
| getIndex :: Int -> Maybe a -> Eval [a] -> Maybe (Eval b) -> Eval a |
|
| ifValTypeIsa :: Val -> String -> Eval a -> Eval a -> Eval a |
|
| ifListContext :: MonadReader Env m => m t -> m t -> m t |
|
| retEmpty :: Eval Val |
|
| evalValType :: Val -> Eval Type |
|
| fromVal' :: Value a => Val -> Eval a |
|
| class (Typeable n, Show n, Ord n) => Value n where |
|
|
| castFailM :: (Show a, Typeable b) => a -> Eval b |
|
| castFail :: (Show a, Typeable b) => a -> b |
|
| juncToBool :: VJunc -> Bool |
|
| showNum :: Show a => a -> String |
|
| valToStr :: Val -> Eval VStr |
|
| type VScalar = Val |
|
| strRangeInf :: String -> [String] |
|
| strRange :: String -> String -> [String] |
|
| strInc :: String -> String |
|
| charInc :: Char -> Char |
|
| intCast :: Num b => Val -> b |
|
| type VList = [Val] |
|
| type VSubst = (VRule, Exp) |
|
| type VArray = [Val] |
|
| type VHash = Map VStr Val |
|
| newtype VThunk |
|
|
| newtype VProcess |
|
|
| type VPair = (Val, Val) |
|
| data Val |
|
|
| valType :: Val -> Type |
|
| type VBlock = Exp |
|
| data VControl |
| Constructors | | ControlLeave !(Env -> Eval Bool) !Val | | | ControlExit !ExitCode | | | ControlEnv !Env | |
| | Instances | |
|
|
| data VJunc |
|
|
| data JuncType |
|
|
| data SubType |
| Constructors | | SubMethod | | | SubRoutine | | | SubBlock | | | SubPrim | |
| | Instances | |
|
|
| isSlurpy :: Param -> Bool |
|
| data Param |
| Constructors | | MkParam | | | isInvocant :: !Bool | | | isOptional :: !Bool | | | isNamed :: !Bool | | | isLValue :: !Bool | | | isWritable :: !Bool | | | isLazy :: !Bool | | | paramName :: !String | | | paramContext :: !Cxt | | | paramDefault :: !Exp | |
|
| | Instances | |
|
|
| type Params = [Param] |
|
| type Bindings = [(Param, Exp)] |
|
| type SlurpLimit = [(VInt, Exp)] |
|
| data VCode |
|
|
| mkPrim :: VCode |
|
| mkSub :: VCode |
|
| data Pos |
| Constructors | | MkPos | | | posName :: !String | | | posBeginLine :: !Int | | | posBeginColumn :: !Int | | | posEndLine :: !Int | | | posEndColumn :: !Int | |
|
| | Instances | |
|
|
| data Exp |
|
|
| class Unwrap a where |
|
|
| fromVals :: Value n => Val -> Eval [n] |
|
| extractExp :: Exp -> ([Exp], [String]) -> ([Exp], [String]) |
|
| extract :: Exp -> [String] -> (Exp, [String]) |
|
| cxtOfSigil :: Char -> Cxt |
|
| typeOfSigil :: Char -> Type |
|
| buildParam :: String -> String -> String -> Exp -> Param |
|
| defaultArrayParam :: Param |
|
| defaultHashParam :: Param |
|
| defaultScalarParam :: Param |
|
| type DebugInfo = Maybe (TVar (Map String String)) |
|
| data Env |
| Environment | | Constructors | | Env | | | envContext :: !Cxt | Current context | | envLValue :: !Bool | LValue context? | | envLexical :: !Pad | Lexical pad | | envGlobal :: !(TVar Pad) | Global pad | | envClasses :: !ClassTree | Current class tree | | envEval :: !(Exp -> Eval Val) | Active evaluator | | envCaller :: !(Maybe Env) | Caller's env | | envBody :: !Exp | Current AST | | envDepth :: !Int | Recursion depth | | envID :: !Unique | Unique ID of Env | | envDebug :: !DebugInfo | Debug info map | | envStash :: !String | Misc. stash | | envPos :: !Pos | Source position range |
|
| | Instances | |
|
|
| envWant :: Env -> String |
|
| data Pad |
| Constructors | | MkPad !(Map Var [(TVar Bool, TVar VRef)]) | |
| | Instances | |
|
|
| mkPad :: [(Var, [(TVar Bool, TVar VRef)])] -> Pad |
|
| lookupPad :: Var -> Pad -> Maybe [TVar VRef] |
|
| padToList :: Pad -> [(Var, [(TVar Bool, TVar VRef)])] |
|
| diffPads :: Pad -> Pad -> Pad |
|
| unionPads :: Pad -> Pad -> Pad |
|
| genMultiSym :: MonadSTM m => String -> VRef -> m (Pad -> Pad) |
|
| genSym :: MonadSTM m => String -> VRef -> m (Pad -> Pad) |
|
| show' :: Show a => a -> String |
|
| data Scope |
| Constructors | | SGlobal | | | SMy | | | SOur | | | SLet | | | STemp | | | SState | |
| | Instances | |
|
|
| type Eval x = EvalT (ContT Val (ReaderT Env SIO)) x |
|
| type EvalMonad = EvalT (ContT Val (ReaderT Env SIO)) |
|
| newtype EvalT m a |
|
|
| data SIO a |
| Constructors | | MkSTM !(STM a) | | | MkIO !(IO a) | | | MkSIO !a | |
| | Instances | |
|
|
| runSTM :: SIO a -> STM a |
|
| runIO :: SIO a -> IO a |
|
| runEvalSTM :: Env -> Eval Val -> STM Val |
|
| runEvalIO :: Env -> Eval Val -> IO Val |
|
| shiftT :: ((a -> Eval Val) -> Eval Val) -> Eval a |
|
| resetT :: Eval Val -> Eval Val |
|
| class Monad m => MonadSTM m where |
|
|
| runEvalMain :: Env -> Eval Val -> IO Val |
|
| findSymRef :: MonadSTM m => String -> Pad -> m VRef |
|
| findSym :: String -> Pad -> Maybe (TVar VRef) |
|
| class (MonadReader Env m, MonadCont m, MonadIO m, MonadSTM m) => MonadEval m where |
|
|
| Produced by Haddock version ADDOCK_VERSION |