From b6446ec36dcb537f39d38893f8cbe8c355c1b504 Mon Sep 17 00:00:00 2001 From: krasimir Date: Mon, 6 Dec 2010 14:19:51 +0000 Subject: simple refactoring in PGF.Macros and related --- src/runtime/haskell/PGF/Macros.hs | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'src/runtime/haskell/PGF/Macros.hs') diff --git a/src/runtime/haskell/PGF/Macros.hs b/src/runtime/haskell/PGF/Macros.hs index aecb584d5..31af63534 100644 --- a/src/runtime/haskell/PGF/Macros.hs +++ b/src/runtime/haskell/PGF/Macros.hs @@ -18,24 +18,24 @@ import Text.PrettyPrint mapConcretes :: (Concr -> Concr) -> PGF -> PGF mapConcretes f pgf = pgf { concretes = Map.map f (concretes pgf) } -lookType :: PGF -> CId -> Type -lookType pgf f = - case lookMap (error $ "lookType " ++ show f) f (funs (abstract pgf)) of +lookType :: Abstr -> CId -> Type +lookType abs f = + case lookMap (error $ "lookType " ++ show f) f (funs abs) of (ty,_,_,_) -> ty -lookDef :: PGF -> CId -> Maybe [Equation] -lookDef pgf f = - case lookMap (error $ "lookDef " ++ show f) f (funs (abstract pgf)) of +lookDef :: Abstr -> CId -> Maybe [Equation] +lookDef abs f = + case lookMap (error $ "lookDef " ++ show f) f (funs abs) of (_,a,eqs,_) -> eqs -isData :: PGF -> CId -> Bool -isData pgf f = - case Map.lookup f (funs (abstract pgf)) of +isData :: Abstr -> CId -> Bool +isData abs f = + case Map.lookup f (funs abs) of Just (_,_,Nothing,_) -> True -- the encoding of data constrs _ -> False -lookValCat :: PGF -> CId -> CId -lookValCat pgf = valCat . lookType pgf +lookValCat :: Abstr -> CId -> CId +lookValCat abs = valCat . lookType abs lookStartCat :: PGF -> CId lookStartCat pgf = mkCId $ @@ -119,7 +119,7 @@ showPrintName :: PGF -> Language -> CId -> String showPrintName pgf lang id = lookMap (showCId id) id $ printnames $ lookMap (error "no lang") lang $ concretes pgf -- lookup with default value -lookMap :: (Show i, Ord i) => a -> i -> Map.Map i a -> a +lookMap :: Ord i => a -> i -> Map.Map i a -> a lookMap d c m = Map.findWithDefault d c m --- from Operations -- cgit v1.2.3