From da22eac1803ea4e29dd88888157918878f75d149 Mon Sep 17 00:00:00 2001 From: aarne Date: Thu, 1 Dec 2005 17:58:31 +0000 Subject: making apply_transfer work --- src/GF/Infra/Modules.hs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/GF/Infra') 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] -- cgit v1.2.3