From 41b263cf6aa38e7c6ef090c0fa18949b86eec62c Mon Sep 17 00:00:00 2001 From: krasimir Date: Fri, 22 May 2009 18:54:51 +0000 Subject: some work on evaluation with abstract expressions in PGF --- src/PGF/Macros.hs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src/PGF/Macros.hs') diff --git a/src/PGF/Macros.hs b/src/PGF/Macros.hs index 462fa9cba..fe00f4ff7 100644 --- a/src/PGF/Macros.hs +++ b/src/PGF/Macros.hs @@ -35,17 +35,19 @@ lookPrintName pgf lang fun = lookType :: PGF -> CId -> Type lookType pgf f = - fst $ lookMap (error $ "lookType " ++ show f) f (funs (abstract pgf)) + case lookMap (error $ "lookType " ++ show f) f (funs (abstract pgf)) of + (ty,_,_) -> ty lookDef :: PGF -> CId -> [Equation] lookDef pgf f = - snd $ lookMap (error $ "lookDef " ++ show f) f (funs (abstract pgf)) + case lookMap (error $ "lookDef " ++ show f) f (funs (abstract pgf)) of + (_,a,eqs) -> eqs isData :: PGF -> CId -> Bool isData pgf f = case Map.lookup f (funs (abstract pgf)) of - Just (_,[]) -> True -- the encoding of data constrs - _ -> False + Just (_,_,[]) -> True -- the encoding of data constrs + _ -> False lookValCat :: PGF -> CId -> CId lookValCat pgf = valCat . lookType pgf @@ -74,7 +76,7 @@ lookConcrFlag pgf lang f = Map.lookup f $ cflags $ lookConcr pgf lang functionsToCat :: PGF -> CId -> [(CId,Type)] functionsToCat pgf cat = - [(f,ty) | f <- fs, Just (ty,_) <- [Map.lookup f $ funs $ abstract pgf]] + [(f,ty) | f <- fs, Just (ty,_,_) <- [Map.lookup f $ funs $ abstract pgf]] where fs = lookMap [] cat $ catfuns $ abstract pgf -- cgit v1.2.3