|
|
|
|
|
|
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 |