diff options
author | Gregor Kleen <pngwjpgh@users.noreply.github.com> | 2016-08-05 13:21:32 +0200 |
---|---|---|
committer | Gregor Kleen <pngwjpgh@users.noreply.github.com> | 2016-08-05 13:21:32 +0200 |
commit | f5311120a05081ee67de73057f1057e6f54b40e2 (patch) | |
tree | 11688cb6c0f28e3aa7a946c188b4fdf8f7b76433 /events/src/Events/Spec.hs | |
parent | 10be4c21eba0c4df2d2cf03f2d5adb547fb08e0a (diff) | |
download | events-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.hs | 6 |
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 | ||
3 | module Events.Spec | 3 | module 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 | |||
21 | import Control.Monad.Catch (MonadThrow) | 21 | import Control.Monad.Catch (MonadThrow) |
22 | 22 | ||
23 | 23 | ||
24 | interpret :: MonadThrow m => Producer m Text -> Eval m () | 24 | interpret :: Monad m => Sink (Spec m) (Eval m) () |
25 | interpret source = evalExpr =<< lift (connect source parse) | 25 | interpret = maybe (lift mzero) (const interpret <=< lift . evalExpr) =<< await |