summaryrefslogtreecommitdiff
path: root/src/GF/Infra
diff options
context:
space:
mode:
Diffstat (limited to 'src/GF/Infra')
-rw-r--r--src/GF/Infra/Modules.hs6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/GF/Infra/Modules.hs b/src/GF/Infra/Modules.hs
index 8272635f7..762edb0e2 100644
--- a/src/GF/Infra/Modules.hs
+++ b/src/GF/Infra/Modules.hs
@@ -75,6 +75,12 @@ addOpenQualif i j (Module mt ms fs me ops js) =
allFlags :: MGrammar i f a -> [f]
allFlags gr = concat $ map flags $ reverse [m | (_, ModMod m) <- modules gr]
+mapModules :: (Module i f a -> Module i f a)
+ -> MGrammar i f a -> MGrammar i f a
+mapModules f = MGrammar . map (onSnd mapModules') . modules
+ where mapModules' (ModMod m) = ModMod (f m)
+ mapModules' m = m
+
data MainGrammar i = MainGrammar {
mainAbstract :: i ,
mainConcretes :: [MainConcreteSpec i]