Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- type ActiveThreads = Maybe (IORef (Set ThreadId))
- data CCache = CCache {
- sandboxed :: Bool
- tracer :: Bool -> Val -> Tracer
- srcCombs :: TVar (EnumMap Word64 Combs)
- combs :: TVar (EnumMap Word64 MCombs)
- combRefs :: TVar (EnumMap Word64 Reference)
- cacheableCombs :: TVar (EnumSet Word64)
- tagRefs :: TVar (EnumMap Word64 Reference)
- freshTm :: TVar Word64
- freshTy :: TVar Word64
- intermed :: TVar (Map Reference (SuperGroup Symbol))
- refTm :: TVar (Map Reference Word64)
- refTy :: TVar (Map Reference Word64)
- sandbox :: TVar (Map Reference (Set Reference))
- type Combs = GCombs Void CombIx
- data Tracer
- apply0 :: Maybe (XStack -> IO ()) -> CCache -> ActiveThreads -> Word64 -> IO ()
- baseCCache :: Bool -> IO CCache
- cacheAdd :: [(Reference, Code)] -> CCache -> IO [Reference]
- cacheAdd0 :: Set Reference -> [(Reference, Code)] -> [(Reference, Set Reference)] -> CCache -> IO ()
- eval0 :: CCache -> ActiveThreads -> MSection -> IO ()
- expandSandbox :: Map Reference (Set Reference) -> [(Reference, SuperGroup Symbol)] -> [(Reference, Set Reference)]
- preEvalTopLevelConstants :: EnumMap Word64 (GCombs Val CombIx) -> EnumMap Word64 (GCombs Val CombIx) -> CCache -> IO ()
- refLookup :: String -> Map Reference Word64 -> Reference -> Word64
- refNumTm :: CCache -> Reference -> IO Word64
- refNumsTm :: CCache -> IO (Map Reference Word64)
- refNumsTy :: CCache -> IO (Map Reference Word64)
- reifyValue :: CCache -> Value -> IO (Either [Reference] Val)
- resolveSection :: CCache -> Section -> IO MSection
Documentation
type ActiveThreads = Maybe (IORef (Set ThreadId)) Source #
A ref storing every currently active thread. This is helpful for cleaning up orphaned threads when the main process completes.
We track threads when running in a host process like UCM,
otherwise, in one-off environments Nothing
is used and we don't bother tracking forked threads since they'll be
cleaned up automatically on process termination.
CCache | |
|
cacheAdd0 :: Set Reference -> [(Reference, Code)] -> [(Reference, Set Reference)] -> CCache -> IO () Source #
expandSandbox :: Map Reference (Set Reference) -> [(Reference, SuperGroup Symbol)] -> [(Reference, Set Reference)] Source #