summaryrefslogtreecommitdiff
path: root/events/src/Events/Eval.hs
diff options
context:
space:
mode:
authorGregor Kleen <pngwjpgh@users.noreply.github.com>2016-07-31 00:23:23 +0200
committerGregor Kleen <pngwjpgh@users.noreply.github.com>2016-07-31 00:23:23 +0200
commitd22086666632b707aa210f20ecf10a8cd4e6d4fe (patch)
treedd561d380898dfb0a0e8fc6d98249c965c19c221 /events/src/Events/Eval.hs
parent41d0a0c8c3a66ce48756ad8c2ab0ea87933047c9 (diff)
downloadevents-d22086666632b707aa210f20ecf10a8cd4e6d4fe.tar
events-d22086666632b707aa210f20ecf10a8cd4e6d4fe.tar.gz
events-d22086666632b707aa210f20ecf10a8cd4e6d4fe.tar.bz2
events-d22086666632b707aa210f20ecf10a8cd4e6d4fe.tar.xz
events-d22086666632b707aa210f20ecf10a8cd4e6d4fe.zip
Lambda calculus for computing events at runtime
Diffstat (limited to 'events/src/Events/Eval.hs')
-rw-r--r--events/src/Events/Eval.hs2
1 files changed, 1 insertions, 1 deletions
diff --git a/events/src/Events/Eval.hs b/events/src/Events/Eval.hs
index 280c577..800b38d 100644
--- a/events/src/Events/Eval.hs
+++ b/events/src/Events/Eval.hs
@@ -17,7 +17,7 @@ import Control.Lens
17import Data.Ord (Ordering(..)) 17import Data.Ord (Ordering(..))
18 18
19evaluate :: MonadFix m => (Maybe Object -> ReaderT EvalCtx m Bool) -> Eval m () -> m [Object] 19evaluate :: MonadFix m => (Maybe Object -> ReaderT EvalCtx m Bool) -> Eval m () -> m [Object]
20evaluate predicate x = catMaybes <$> mfix x' 20evaluate predicate (unEval -> x) = catMaybes <$> mfix x'
21 where 21 where
22 x' = runReaderT (foldNDT predicate (preview objCtx <$> execStateT x def)) . flip (set ctxEvents) def . catMaybes 22 x' = runReaderT (foldNDT predicate (preview objCtx <$> execStateT x def)) . flip (set ctxEvents) def . catMaybes
23 23