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/Infra/Option.hs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'src/compiler/GF/Infra/Option.hs') diff --git a/src/compiler/GF/Infra/Option.hs b/src/compiler/GF/Infra/Option.hs index c4aecae23..554468783 100644 --- a/src/compiler/GF/Infra/Option.hs +++ b/src/compiler/GF/Infra/Option.hs @@ -42,8 +42,6 @@ import GF.Data.ErrM import Data.Set (Set) import qualified Data.Set as Set -import qualified Data.ByteString.Char8 as BS - usageHeader :: String @@ -398,7 +396,7 @@ optDescr = Just p -> set $ \o -> o { optHaskellOptions = Set.insert p (optHaskellOptions o) } Nothing -> fail $ "Unknown Haskell option: " ++ x ++ " Known: " ++ show (map fst haskellOptionNames) - literalCat x = set $ \o -> o { optLiteralCats = foldr Set.insert (optLiteralCats o) ((map (identC . BS.pack) . splitBy (==',')) x) } + literalCat x = set $ \o -> o { optLiteralCats = foldr Set.insert (optLiteralCats o) ((map identS . splitBy (==',')) x) } lexicalCat x = set $ \o -> o { optLexicalCats = foldr Set.insert (optLexicalCats o) (splitBy (==',') x) } outDir x = set $ \o -> o { optOutputDir = Just x } gfLibPath x = set $ \o -> o { optGFLibPath = Just x } -- cgit v1.2.3