diff options
| author | aarne <aarne@cs.chalmers.se> | 2007-12-04 15:01:01 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2007-12-04 15:01:01 +0000 |
| commit | 4279b1776270d813a68bb762d16bad6e8bc4e324 (patch) | |
| tree | 76237b4e7da000715dbedce0b174273d7d834a2d /src/GF/Devel/Grammar/Modules.hs | |
| parent | 4698dfbe7848e87a2e62a776925435a888bc6923 (diff) | |
printing new source format
Diffstat (limited to 'src/GF/Devel/Grammar/Modules.hs')
| -rw-r--r-- | src/GF/Devel/Grammar/Modules.hs | 11 |
1 files changed, 11 insertions, 0 deletions
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 |
