PredefAbs for bwc

This commit is contained in:
aarne
2004-01-21 13:32:08 +00:00
parent ae9fe52eaa
commit 74e0e11964
2 changed files with 9 additions and 5 deletions

View File

@@ -50,10 +50,8 @@ renameIdentTerm :: Status -> Term -> Err Term
renameIdentTerm env@(act,imps) t =
errIn ("atomic term" +++ prt t +++ "given" +++ unwords (map (prt . fst) qualifs)) $
case t of
--- Vr (IC "Int") -> return $ Q cPredefAbs cInt -- Int and String are predefined cats
--- Vr (IC "String") -> return $ Q cPredefAbs cString
Vr c -> do
f <- lookupTreeMany prt opens c
f <- err (predefAbs c) return $ lookupTreeMany prt opens c
return $ f c
Cn c -> do
f <- lookupTreeMany prt opens c
@@ -70,7 +68,13 @@ renameIdentTerm env@(act,imps) t =
where
opens = act : [st | (OSimple _ _,st) <- imps]
qualifs = [(m, st) | (OQualif _ m _, st) <- imps] ++
[(m, st) | (OSimple _ m, st) <- imps] -- qualifying is always possible
[(m, st) | (OSimple _ m, st) <- imps] -- qualif is always possible
-- this facility is mainly for BWC with GF1: you need not import PredefAbs
predefAbs c s = case c of
IC "Int" -> return $ const $ Q cPredefAbs cInt
IC "String" -> return $ const $ Q cPredefAbs cString
_ -> Bad s
--- would it make sense to optimize this by inlining?
renameIdentPatt :: Status -> Patt -> Err Patt

View File

@@ -1 +1 @@
module Today where today = "Fri Jan 9 18:17:26 CET 2004"
module Today where today = "Wed Jan 21 15:14:24 CET 2004"