summaryrefslogtreecommitdiff
path: root/src/GF/Compile/CheckGrammar.hs
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2005-12-05 18:31:15 +0000
committeraarne <aarne@cs.chalmers.se>2005-12-05 18:31:15 +0000
commit9db6f69d0a286b8d8234f64cc4918db5daa19644 (patch)
tree48184980cc4997232fd7b7671cd595f2cd78b4d6 /src/GF/Compile/CheckGrammar.hs
parent6c9b2bf6dff11d0eb2bcfd4f89f21649b48672fa (diff)
multimodal resource recreated for new API
Diffstat (limited to 'src/GF/Compile/CheckGrammar.hs')
-rw-r--r--src/GF/Compile/CheckGrammar.hs12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/GF/Compile/CheckGrammar.hs b/src/GF/Compile/CheckGrammar.hs
index 14d4f9b93..fc77bb6fa 100644
--- a/src/GF/Compile/CheckGrammar.hs
+++ b/src/GF/Compile/CheckGrammar.hs
@@ -569,7 +569,8 @@ checkLType env trm typ0 = do
trm' <- comp trm
case trm' of
RecType _ -> termWith trm $ return typeType
- ExtR (Vr _) (RecType _) -> termWith trm $ return typeType -- ext t = t ** ...
+ ExtR (Vr _) (RecType _) -> termWith trm $ return typeType
+ -- ext t = t ** ...
_ -> prtFail "invalid record type extension" trm
RecType rr -> do
(r',ty,s') <- checks [
@@ -585,7 +586,14 @@ checkLType env trm typ0 = do
r2 <- justCheck r' rr0
s2 <- justCheck s' rr2
return $ (ExtR r2 s2, typ)
- _ -> raise ("record type expected in extension of" +++ prt r +++ "but found" +++ prt ty)
+ _ -> raise ("record type expected in extension of" +++ prt r +++
+ "but found" +++ prt ty)
+
+ ExtR ty ex -> do
+ r' <- justCheck r ty
+ s' <- justCheck s ex
+ return $ (ExtR r' s', typ) --- is this all?
+
_ -> prtFail "record extension not meaningful for" typ
FV vs -> do