summaryrefslogtreecommitdiff
path: root/src/GF/Infra
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2005-12-01 17:58:31 +0000
committeraarne <aarne@cs.chalmers.se>2005-12-01 17:58:31 +0000
commitda22eac1803ea4e29dd88888157918878f75d149 (patch)
tree91d01a6110cc9159a93e729a56b68f2d7ad9dfac /src/GF/Infra
parent56f62f31d88348e25636e13d9f8f57a04c1b0b74 (diff)
making apply_transfer work
Diffstat (limited to 'src/GF/Infra')
-rw-r--r--src/GF/Infra/Modules.hs8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/GF/Infra/Modules.hs b/src/GF/Infra/Modules.hs
index f8c56d3e6..723cf7f3d 100644
--- a/src/GF/Infra/Modules.hs
+++ b/src/GF/Infra/Modules.hs
@@ -35,7 +35,8 @@ module GF.Infra.Modules (
lookupModule, lookupModuleType, lookupModMod, lookupInfo,
allModMod, isModAbs, isModRes, isModCnc, isModTrans,
sameMType, isCompilableModule, isCompleteModule,
- allAbstracts, greatestAbstract, allResources, greatestResource, allConcretes
+ allAbstracts, greatestAbstract, allResources,
+ greatestResource, allConcretes, allConcreteModules
) where
import GF.Infra.Ident
@@ -391,3 +392,8 @@ greatestResource gr = case allResources gr of
allConcretes :: Eq i => MGrammar i f a -> i -> [i]
allConcretes gr a =
[i | (i, ModMod m) <- modules gr, mtype m == MTConcrete a, isCompleteModule m]
+
+-- | all concrete modules for any abstract
+allConcreteModules :: Eq i => MGrammar i f a -> [i]
+allConcreteModules gr =
+ [i | (i, ModMod m) <- modules gr, MTConcrete _ <- [mtype m], isCompleteModule m]