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/Grammar/CF.hs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'src/compiler/GF/Grammar/CF.hs') diff --git a/src/compiler/GF/Grammar/CF.hs b/src/compiler/GF/Grammar/CF.hs index 8b66bd72d..cb5c91bde 100644 --- a/src/compiler/GF/Grammar/CF.hs +++ b/src/compiler/GF/Grammar/CF.hs @@ -16,7 +16,7 @@ module GF.Grammar.CF (getCF,CFItem,CFCat,CFFun,cf2gf,CFRule) where import GF.Grammar.Grammar import GF.Grammar.Macros -import GF.Infra.Ident +import GF.Infra.Ident(Ident,identS) import GF.Infra.Option import GF.Infra.UseIO @@ -25,7 +25,6 @@ import GF.Data.Utilities (nub') import Data.Char import Data.List -import qualified Data.ByteString.Char8 as BS import System.FilePath getCF :: FilePath -> String -> Err SourceGrammar @@ -126,6 +125,3 @@ cf2rule (L loc (fun, (cat, items))) = (def,ldef) where mkIt (_, Right a) = K a foldconcat [] = K "" foldconcat tt = foldr1 C tt - -identS = identC . BS.pack - -- cgit v1.2.3