mirror of
https://github.com/github/semantic.git
synced 2024-12-01 09:15:01 +03:00
Run the Domain effect.
This commit is contained in:
parent
3be69996fb
commit
0f7188a864
@ -99,9 +99,12 @@ runFile eval file = traverse run file
|
||||
. runEnv
|
||||
. runFail
|
||||
. fmap fold
|
||||
. convergeTerm 0 (A.runHeap @Addr @(Value (Semi term)) . fix (cacheTerm . eval))
|
||||
. convergeTerm 0 (A.runHeap @Addr @(Value (Semi term)) . fix (\ eval' -> runDomain eval' . fix (cacheTerm . eval)))
|
||||
|
||||
|
||||
runDomain :: (term Addr -> m (Value (Semi term))) -> DomainC term m a -> m a
|
||||
runDomain eval (DomainC m) = runReader eval m
|
||||
|
||||
newtype DomainC term m a = DomainC (ReaderC (term Addr -> m (Value (Semi term))) m a)
|
||||
deriving (Alternative, Applicative, Functor, Monad, MonadFail)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user