summaryrefslogtreecommitdiff
path: root/src/GF/Devel/Grammar
diff options
context:
space:
mode:
Diffstat (limited to 'src/GF/Devel/Grammar')
-rw-r--r--src/GF/Devel/Grammar/Macros.hs10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/GF/Devel/Grammar/Macros.hs b/src/GF/Devel/Grammar/Macros.hs
index 785b69902..1b4ed1448 100644
--- a/src/GF/Devel/Grammar/Macros.hs
+++ b/src/GF/Devel/Grammar/Macros.hs
@@ -92,11 +92,13 @@ termOpGF f g = do
fm = termOpModule f
termOpModule :: Monad m => (Term -> m Term) -> Module -> m Module
-termOpModule f m = do
- mjs <- mapMapM fj (mjments m)
+termOpModule f = judgementOpModule fj where
+ fj = either (liftM Left . termOpJudgement f) (return . Right)
+
+judgementOpModule :: Monad m => (Judgement -> m Judgement) -> Module -> m Module
+judgementOpModule f m = do
+ mjs <- mapMapM f (mjments m)
return m {mjments = mjs}
- where
- fj = either (liftM Left . termOpJudgement f) (return . Right)
termOpJudgement :: Monad m => (Term -> m Term) -> Judgement -> m Judgement
termOpJudgement f j = do