summaryrefslogtreecommitdiff
path: root/events/src/Events/Spec.hs
diff options
context:
space:
mode:
authorGregor Kleen <pngwjpgh@users.noreply.github.com>2016-07-31 18:47:51 +0200
committerGregor Kleen <pngwjpgh@users.noreply.github.com>2016-07-31 18:47:51 +0200
commitb16e56a555b37c5d0c01074b6c6a0dbcbb100bfe (patch)
tree6fc975bcdf8b6c3050235ef1c5b15b75132fff74 /events/src/Events/Spec.hs
parent02338aa196e9f3ddd4b2f8c35c5d04c64a813cec (diff)
downloadevents-b16e56a555b37c5d0c01074b6c6a0dbcbb100bfe.tar
events-b16e56a555b37c5d0c01074b6c6a0dbcbb100bfe.tar.gz
events-b16e56a555b37c5d0c01074b6c6a0dbcbb100bfe.tar.bz2
events-b16e56a555b37c5d0c01074b6c6a0dbcbb100bfe.tar.xz
events-b16e56a555b37c5d0c01074b6c6a0dbcbb100bfe.zip
framework for parsing Specs
Diffstat (limited to 'events/src/Events/Spec.hs')
-rw-r--r--events/src/Events/Spec.hs11
1 files changed, 3 insertions, 8 deletions
diff --git a/events/src/Events/Spec.hs b/events/src/Events/Spec.hs
index e098886..cfa75be 100644
--- a/events/src/Events/Spec.hs
+++ b/events/src/Events/Spec.hs
@@ -3,12 +3,14 @@
3module Events.Spec 3module Events.Spec
4 ( interpret 4 ( interpret
5 , Spec, Cmnd(..), Expr(..), Elem(..) 5 , Spec, Cmnd(..), Expr(..), Elem(..)
6 , module Events.Spec.Parse
6 ) where 7 ) where
7 8
8import Events.Types
9import Events.Spec.Types 9import Events.Spec.Types
10import Events.Spec.Eval 10import Events.Spec.Eval
11 11
12import Events.Spec.Parse
13
12import Control.Monad ((<=<)) 14import Control.Monad ((<=<))
13import Control.Monad.IO.Class 15import Control.Monad.IO.Class
14import Control.Monad.State.Lazy 16import Control.Monad.State.Lazy
@@ -19,13 +21,6 @@ import Control.Lens
19 21
20import Debug.Trace 22import Debug.Trace
21 23
22type Spec m = Expr (Eval m) '[] Cmnd -- most significant last
23
24data Cmnd = COverride Object
25 | COccurs Bool
26 | CNop
27 deriving (Show)
28
29interpret :: MonadIO m => Spec m -> Eval m () 24interpret :: MonadIO m => Spec m -> Eval m ()
30interpret = join . fmap interpretCmnd . evalExpr 25interpret = join . fmap interpretCmnd . evalExpr
31 26