diff options
| author | aarne <unknown> | 2003-10-24 18:19:47 +0000 |
|---|---|---|
| committer | aarne <unknown> | 2003-10-24 18:19:47 +0000 |
| commit | 8cce874f8b5f93c3bff65b625c03b3c55f1b5f31 (patch) | |
| tree | 4ac32640f29110ee4a9e2fccb57583ac898551f0 /src/GF/Compile/CheckGrammar.hs | |
| parent | e620ffbd9432fc9ab4f3174ecf9c117db27af772 (diff) | |
More woek on interfaces
Diffstat (limited to 'src/GF/Compile/CheckGrammar.hs')
| -rw-r--r-- | src/GF/Compile/CheckGrammar.hs | 30 |
1 files changed, 9 insertions, 21 deletions
diff --git a/src/GF/Compile/CheckGrammar.hs b/src/GF/Compile/CheckGrammar.hs index 7bfd2924e..8e07778bc 100644 --- a/src/GF/Compile/CheckGrammar.hs +++ b/src/GF/Compile/CheckGrammar.hs @@ -54,7 +54,7 @@ checkModule ms (name,mod) = checkIn ("checking module" +++ prt name) $ case mod MTInstance a -> do ModMod abs <- checkErr $ lookupModule gr a - checkCompleteInstance abs mo + -- checkCompleteInstance abs mo -- this is done in Rebuild mapMTree (checkResInfo gr) js return $ (name, ModMod (Module mt st fs me ops js')) : ms @@ -91,18 +91,6 @@ checkCompleteGrammar abs cnc = mapM_ checkWarn $ then id else (("Warning: no linearization of" +++ prt f):) -checkCompleteInstance :: SourceRes -> SourceRes -> Check () -checkCompleteInstance abs cnc = mapM_ checkWarn $ - checkComplete [f | (f, ResOper (Yes _) _) <- abs'] cnc' - where - abs' = tree2list $ jments abs - cnc' = mapTree fst $ jments cnc - checkComplete sought given = foldr ckOne [] sought - where - ckOne f = if isInBinTree f given - then id - else (("Warning: no definition given to" +++ prt f):) - -- General Principle: only Yes-values are checked. -- A May-value has always been checked in its origin module. @@ -623,14 +611,14 @@ checkEqLType env t u trm = do (Prod x a b, Prod y c d) -> alpha g a c && alpha ((x,y):g) b d ---- this should be made in Rename - (Q m a, Q n b) | a == b -> elem m (allExtends env n) - || elem n (allExtends env m) - (QC m a, QC n b) | a == b -> elem m (allExtends env n) - || elem n (allExtends env m) - (QC m a, Q n b) | a == b -> elem m (allExtends env n) - || elem n (allExtends env m) - (Q m a, QC n b) | a == b -> elem m (allExtends env n) - || elem n (allExtends env m) + (Q m a, Q n b) | a == b -> elem m (allExtendsPlus env n) + || elem n (allExtendsPlus env m) + (QC m a, QC n b) | a == b -> elem m (allExtendsPlus env n) + || elem n (allExtendsPlus env m) + (QC m a, Q n b) | a == b -> elem m (allExtendsPlus env n) + || elem n (allExtendsPlus env m) + (Q m a, QC n b) | a == b -> elem m (allExtendsPlus env n) + || elem n (allExtendsPlus env m) (RecType rs, RecType ts) -> and [alpha g a b && l == k --- too strong req | ((l,a),(k,b)) <- zip rs ts] |
