Safe Haskell | None |
---|---|
Language | Haskell98 |
Lenses for TCState
and more.
- resetState :: TCM ()
- resetAllState :: TCM ()
- localTCState :: TCM a -> TCM a
- updatePersistentState :: (PersistentTCState -> PersistentTCState) -> TCState -> TCState
- modifyPersistentState :: (PersistentTCState -> PersistentTCState) -> TCM ()
- getScope :: TCM ScopeInfo
- setScope :: ScopeInfo -> TCM ()
- modifyScope :: (ScopeInfo -> ScopeInfo) -> TCM ()
- withScope :: ScopeInfo -> TCM a -> TCM (a, ScopeInfo)
- withScope_ :: ScopeInfo -> TCM a -> TCM a
- localScope :: TCM a -> TCM a
- notInScope :: QName -> TCM a
- printScope :: String -> Int -> String -> TCM ()
- setTopLevelModule :: QName -> TCM ()
- withTopLevelModule :: QName -> TCM a -> TCM a
- addHaskellImport :: String -> TCM ()
- getHaskellImports :: TCM (Set String)
- getInteractionOutputCallback :: TCM InteractionOutputCallback
- appInteractionOutputCallback :: Response -> TCM ()
- setInteractionOutputCallback :: InteractionOutputCallback -> TCM ()
- getPatternSyns :: TCM PatternSynDefns
- setPatternSyns :: PatternSynDefns -> TCM ()
- modifyPatternSyns :: (PatternSynDefns -> PatternSynDefns) -> TCM ()
- getPatternSynImports :: TCM PatternSynDefns
- lookupPatternSyn :: QName -> TCM PatternSynDefn
- theBenchmark :: TCState -> Benchmark
- updateBenchmark :: (Benchmark -> Benchmark) -> TCState -> TCState
- getBenchmark :: TCM Benchmark
- modifyBenchmark :: (Benchmark -> Benchmark) -> TCM ()
- freshTCM :: TCM a -> TCM (Either TCErr a)
Documentation
resetState :: TCM () Source
Resets the non-persistent part of the type checking state.
resetAllState :: TCM () Source
Resets all of the type checking state.
Keep only Benchmark
information.
localTCState :: TCM a -> TCM a Source
Restore TCState
after performing subcomputation.
In contrast to localState
, the Benchmark
info from the subcomputation is saved.
Lens for persistent state
updatePersistentState :: (PersistentTCState -> PersistentTCState) -> TCState -> TCState Source
modifyPersistentState :: (PersistentTCState -> PersistentTCState) -> TCM () Source
Scope
modifyScope :: (ScopeInfo -> ScopeInfo) -> TCM () Source
Modify the current scope.
withScope_ :: ScopeInfo -> TCM a -> TCM a Source
Same as withScope
, but discard the scope from the computation.
localScope :: TCM a -> TCM a Source
Discard any changes to the scope by a computation.
notInScope :: QName -> TCM a Source
Scope error.
Top level module
setTopLevelModule :: QName -> TCM () Source
Set the top-level module. This affects the global module id of freshly generated names.
withTopLevelModule :: QName -> TCM a -> TCM a Source
Use a different top-level module for a computation. Used when generating names for imported modules.
Haskell imports
addHaskellImport :: String -> TCM () Source
Tell the compiler to import the given Haskell module.
getHaskellImports :: TCM (Set String) Source
Get the Haskell imports.
Interaction output callback
appInteractionOutputCallback :: Response -> TCM () Source
Pattern synonyms
setPatternSyns :: PatternSynDefns -> TCM () Source
modifyPatternSyns :: (PatternSynDefns -> PatternSynDefns) -> TCM () Source
Lens for stPatternSyns
.