From 4279b1776270d813a68bb762d16bad6e8bc4e324 Mon Sep 17 00:00:00 2001 From: aarne Date: Tue, 4 Dec 2007 15:01:01 +0000 Subject: printing new source format --- src/GF/Devel/Grammar/Modules.hs | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/GF/Devel/Grammar/Modules.hs') diff --git a/src/GF/Devel/Grammar/Modules.hs b/src/GF/Devel/Grammar/Modules.hs index 0d3d96114..a2845e08f 100644 --- a/src/GF/Devel/Grammar/Modules.hs +++ b/src/GF/Devel/Grammar/Modules.hs @@ -20,6 +20,14 @@ data GF = GF { emptyGF :: GF emptyGF = GF Nothing [] empty empty +type SourceModule = (Ident,Module) + +listModules :: GF -> [SourceModule] +listModules = assocs.gfmodules + +addModule :: Ident -> Module -> GF -> GF +addModule c m gf = gf {gfmodules = insert c m (gfmodules gf)} + data Module = Module { mtype :: ModuleType, minterfaces :: [(Ident,Ident)], -- non-empty for functors @@ -33,6 +41,9 @@ data Module = Module { emptyModule :: Ident -> Module emptyModule m = Module MTGrammar [] [] [] [] empty empty +isCompleteModule :: Module -> Bool +isCompleteModule = Prelude.null . minterfaces + listJudgements :: Module -> [(Ident,Either Judgement Indirection)] listJudgements = assocs . mjments -- cgit v1.2.3