diff options
| author | aarne <aarne@cs.chalmers.se> | 2005-12-01 17:58:31 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2005-12-01 17:58:31 +0000 |
| commit | da22eac1803ea4e29dd88888157918878f75d149 (patch) | |
| tree | 91d01a6110cc9159a93e729a56b68f2d7ad9dfac /src/GF/Infra/Modules.hs | |
| parent | 56f62f31d88348e25636e13d9f8f57a04c1b0b74 (diff) | |
making apply_transfer work
Diffstat (limited to 'src/GF/Infra/Modules.hs')
| -rw-r--r-- | src/GF/Infra/Modules.hs | 8 |
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] |
