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.hs19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/GF/Infra/Modules.hs b/src/GF/Infra/Modules.hs
index 86a11b446..63f14d2f4 100644
--- a/src/GF/Infra/Modules.hs
+++ b/src/GF/Infra/Modules.hs
@@ -5,9 +5,9 @@
-- Stability : (stable)
-- Portability : (portable)
--
--- > CVS $Date: 2005/05/14 08:38:55 $
+-- > CVS $Date: 2005/05/30 18:39:44 $
-- > CVS $Author: aarne $
--- > CVS $Revision: 1.22 $
+-- > CVS $Revision: 1.23 $
--
-- Datastructures and functions for modules, common to GF and GFC.
--
@@ -61,11 +61,13 @@ data Module i f a = Module {
mtype :: ModuleType i ,
mstatus :: ModuleStatus ,
flags :: [f] ,
- extends :: [i],
+ extends :: [i], ---- [(i,MInclude i)],
opens :: [OpenSpec i] ,
- jments :: BinTree (i,a)
+ jments :: BinTree i a
}
- deriving Show
+--- deriving Show
+instance Show (Module i f a) where
+ show _ = "cannot show Module with FiniteMap"
-- | encoding the type of the module
data ModuleType i =
@@ -83,6 +85,9 @@ data ModuleType i =
data MReuseType i = MRInterface i | MRInstance i i | MRResource i
deriving (Show,Eq)
+data MInclude i = MIAll | MIOnly [i] | MIExcept [i]
+ deriving (Show,Eq)
+
-- | previously: single inheritance
extendm :: Module i f a -> Maybe i
extendm m = case extends m of
@@ -103,7 +108,7 @@ updateModule :: Ord i => Module i f t -> i -> t -> Module i f t
updateModule (Module mt ms fs me ops js) i t =
Module mt ms fs me ops (updateTree (i,t) js)
-replaceJudgements :: Module i f t -> BinTree (i,t) -> Module i f t
+replaceJudgements :: Module i f t -> BinTree i t -> Module i f t
replaceJudgements (Module mt ms fs me ops _) js = Module mt ms fs me ops js
addOpenQualif :: i -> i -> Module i f t -> Module i f t
@@ -240,7 +245,7 @@ emptyModInfo :: ModInfo i f a
emptyModInfo = ModMod emptyModule
emptyModule :: Module i f a
-emptyModule = Module MTResource MSComplete [] [] [] NT
+emptyModule = Module MTResource MSComplete [] [] [] emptyBinTree
-- | we store the module type with the identifier
data IdentM i = IdentM {