From 3d5b9bd1fd46a51651cbfbd45f03e5b878aebbac Mon Sep 17 00:00:00 2001 From: hallgren Date: Thu, 19 Sep 2013 18:23:47 +0000 Subject: Make Ident abstract; imports of Data.ByteString.Char8 down from 29 to 16 modules Most of the explicit uses of ByteStrings were eliminated by using identS, identS = identC . BS.pack which was found in GF.Grammar.CF and moved to GF.Infra.Ident. The function prefixIdent :: String -> Ident -> Ident allowed one additional import of ByteString to be eliminated. The functions isArgIdent :: Ident -> Bool getArgIndex :: Ident -> Maybe Int were needed to eliminate explicit pattern matching on Ident from two modules. --- src/compiler/GF/Compile/Compute/ConcreteNew1.hs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src/compiler/GF/Compile/Compute/ConcreteNew1.hs') diff --git a/src/compiler/GF/Compile/Compute/ConcreteNew1.hs b/src/compiler/GF/Compile/Compute/ConcreteNew1.hs index 59c9ef6b4..354f8249e 100644 --- a/src/compiler/GF/Compile/Compute/ConcreteNew1.hs +++ b/src/compiler/GF/Compile/Compute/ConcreteNew1.hs @@ -9,7 +9,6 @@ import GF.Grammar.Predef import GF.Data.Operations import Data.List (intersect) import Text.PrettyPrint -import qualified Data.ByteString.Char8 as BS normalForm :: SourceGrammar -> Term -> Term normalForm gr t = value2term gr [] (eval gr [] t) @@ -44,7 +43,7 @@ eval gr env (Vr x) = case lookup x env of Nothing -> error ("Unknown variable "++showIdent x) eval gr env (Q x) | x == (cPredef,cErrorType) -- to be removed - = let varP = identC (BS.pack "P") + = let varP = identS "P" in eval gr [] (mkProd [(Implicit,varP,typeType)] (Vr varP) []) | fst x == cPredef = VApp x [] | otherwise = case lookupResDef gr x of -- cgit v1.2.3