treatment of Int: not always PredefAbs but can be PredefCnc

This commit is contained in:
aarne
2008-09-03 09:33:37 +00:00
parent d1ebdf8154
commit cf00c0c2a9
3 changed files with 8 additions and 2 deletions

View File

@@ -51,7 +51,9 @@ lookupResDef gr m c = liftM fst $ lookupResDefKind gr m c
-- 0 = oper, 1 = lin, 2 = canonical. v > 0 means: no need to be recomputed
lookupResDefKind :: SourceGrammar -> Ident -> Ident -> Err (Term,Int)
lookupResDefKind gr m c
| isPredefCat c = return (Q cPredefAbs c,2) --- need this in gf3 12/6/2008
| isPredefCat c = liftM (flip (,) 1) $ lock c defLinType
---- return (Q cPredefCnc c,2)
---- was PredefAbs till 3/9/2008, with explanation: need this in gf3 12/6/2008
| otherwise = look True m c where
look isTop m c = do
mi <- lookupModule gr m

View File

@@ -15,7 +15,7 @@ module GF.Grammar.Predef
, cTok
, cStr
, cStrs
, cPredefAbs, cPredef
, cPredefAbs, cPredefCnc, cPredef
, cInt
, cFloat
, cString
@@ -58,6 +58,9 @@ cStrs = identC (BS.pack "Strs")
cPredefAbs :: Ident
cPredefAbs = identC (BS.pack "PredefAbs")
cPredefCnc :: Ident
cPredefCnc = identC (BS.pack "PredefCnc")
cPredef :: Ident
cPredef = identC (BS.pack "Predef")

View File

@@ -378,6 +378,7 @@ sameMType m n = case (n,m) of
(MTInterface, MTInstance _) -> True
(MTInterface, MTResource) -> True -- for reuse
(MTInterface, MTAbstract) -> True -- for reuse
(MTInterface, MTConcrete _) -> True -- for reuse
(MTResource, MTInstance _) -> True
(MTResource, MTConcrete _) -> True -- for reuse