summaryrefslogtreecommitdiff
path: root/src/GF/Infra/Modules.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/GF/Infra/Modules.hs')
-rw-r--r--src/GF/Infra/Modules.hs11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/GF/Infra/Modules.hs b/src/GF/Infra/Modules.hs
index 9d8438f0f..3b9cf6b6a 100644
--- a/src/GF/Infra/Modules.hs
+++ b/src/GF/Infra/Modules.hs
@@ -23,7 +23,7 @@ module GF.Infra.Modules (
MReuseType(..), MInclude (..),
extends, isInherited,inheritAll,
updateMGrammar, updateModule, replaceJudgements, addFlag,
- addOpenQualif, flagsModule, allFlags, mapModules,
+ addOpenQualif, flagsModule, allFlags, mapModules, mapModules',
MainGrammar(..), MainConcreteSpec(..), OpenSpec(..), OpenQualif(..),
oSimple, oQualif,
ModuleStatus(..),
@@ -141,9 +141,12 @@ allFlags gr = concatOptions $ map flags $ [m | (_, ModMod m) <- modules gr]
mapModules :: (Module i a -> Module i a)
-> MGrammar i a -> MGrammar i a
-mapModules f = MGrammar . map (onSnd mapModules') . modules
- where mapModules' (ModMod m) = ModMod (f m)
- mapModules' m = m
+mapModules f = MGrammar . map (onSnd (mapModules' f)) . modules
+
+mapModules' :: (Module i a -> Module i a)
+ -> ModInfo i a -> ModInfo i a
+mapModules' f (ModMod m) = ModMod (f m)
+mapModules' _ m = m
data MainGrammar i = MainGrammar {
mainAbstract :: i ,