summaryrefslogtreecommitdiff
path: root/events/src/Events/Spec.hs
diff options
context:
space:
mode:
authorGregor Kleen <pngwjpgh@users.noreply.github.com>2016-08-05 13:21:32 +0200
committerGregor Kleen <pngwjpgh@users.noreply.github.com>2016-08-05 13:21:32 +0200
commitf5311120a05081ee67de73057f1057e6f54b40e2 (patch)
tree11688cb6c0f28e3aa7a946c188b4fdf8f7b76433 /events/src/Events/Spec.hs
parent10be4c21eba0c4df2d2cf03f2d5adb547fb08e0a (diff)
downloadevents-f5311120a05081ee67de73057f1057e6f54b40e2.tar
events-f5311120a05081ee67de73057f1057e6f54b40e2.tar.gz
events-f5311120a05081ee67de73057f1057e6f54b40e2.tar.bz2
events-f5311120a05081ee67de73057f1057e6f54b40e2.tar.xz
events-f5311120a05081ee67de73057f1057e6f54b40e2.zip
formulate interpret as a Sink
Diffstat (limited to 'events/src/Events/Spec.hs')
-rw-r--r--events/src/Events/Spec.hs6
1 files changed, 3 insertions, 3 deletions
diff --git a/events/src/Events/Spec.hs b/events/src/Events/Spec.hs
index f0b1456..a4546f8 100644
--- a/events/src/Events/Spec.hs
+++ b/events/src/Events/Spec.hs
@@ -2,7 +2,7 @@
2 2
3module Events.Spec 3module Events.Spec
4 ( interpret 4 ( interpret
5 , Spec, Expr(..), Elem(..) 5 , Spec, Expr(..), Val(..), Bindable(..), Elem(..)
6 , module Events.Spec.Parse 6 , module Events.Spec.Parse
7 , module Events.Spec.Eval 7 , module Events.Spec.Eval
8 ) where 8 ) where
@@ -21,5 +21,5 @@ import qualified Data.Text as T
21import Control.Monad.Catch (MonadThrow) 21import Control.Monad.Catch (MonadThrow)
22 22
23 23
24interpret :: MonadThrow m => Producer m Text -> Eval m () 24interpret :: Monad m => Sink (Spec m) (Eval m) ()
25interpret source = evalExpr =<< lift (connect source parse) 25interpret = maybe (lift mzero) (const interpret <=< lift . evalExpr) =<< await