From 10be4c21eba0c4df2d2cf03f2d5adb547fb08e0a Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Fri, 5 Aug 2016 12:36:29 +0200 Subject: cleanup --- events/src/Events/Spec.hs | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) (limited to 'events/src/Events/Spec.hs') diff --git a/events/src/Events/Spec.hs b/events/src/Events/Spec.hs index c2a84ac..f0b1456 100644 --- a/events/src/Events/Spec.hs +++ b/events/src/Events/Spec.hs @@ -1,8 +1,8 @@ -{-# LANGUAGE GADTs, DataKinds, TypeOperators #-} +{-# LANGUAGE RankNTypes #-} module Events.Spec ( interpret - , Spec, Cmnd(..), Expr(..), Elem(..) + , Spec, Expr(..), Elem(..) , module Events.Spec.Parse , module Events.Spec.Eval ) where @@ -12,20 +12,14 @@ import Events.Spec.Eval import Events.Spec.Parse -import Control.Monad ((<=<)) -import Control.Monad.IO.Class -import Control.Monad.State.Lazy -import Data.Monoid -import Data.Foldable -import Control.Lens +import Data.Conduit -import Debug.Trace +import Data.Text (Text) +import qualified Data.Text as T -interpret :: MonadIO m => Spec m -> Eval m () -interpret = join . fmap interpretCmnd . evalExpr +import Control.Monad.Catch (MonadThrow) -interpretCmnd :: MonadIO m => Cmnd -> Eval m () -interpretCmnd (COverride obj) = objPayload ?= obj -interpretCmnd (COccurs b) = objOccurs .= b -interpretCmnd _ = return () + +interpret :: MonadThrow m => Producer m Text -> Eval m () +interpret source = evalExpr =<< lift (connect source parse) -- cgit v1.2.3