damnpacket 0.1.0.1 → 0.1.0.2
raw patch · 4 files changed
+6/−16 lines, 4 files
Files
- benchmarks/parse.hs +1/−3
- damnpacket.cabal +1/−1
- src/Text/Damn/Packet/Internal.hs +0/−4
- src/Text/Damn/Packet/Parser.hs +4/−8
benchmarks/parse.hs view
@@ -1,7 +1,6 @@ {-# OPTIONS_GHC -fno-warn-orphans #-} {-# OPTIONS_GHC -fno-warn-unused-do-bind #-} {-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE StandaloneDeriving #-} import Control.Exception (evaluate) import Criterion.Main@@ -12,8 +11,7 @@ import Data.Text (Text) main :: IO ()-main = do- defaultMain [+main = defaultMain [ bgroup "Parsing" [ bench "phony" $ nf parse "" , bench "cmd" $ nf parse cmd
damnpacket.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/ name: damnpacket-version: 0.1.0.1+version: 0.1.0.2 synopsis: Parsing dAmn packets license: MIT license-file: LICENSE
src/Text/Damn/Packet/Internal.hs view
@@ -1,7 +1,6 @@ {-# LANGUAGE CPP #-} {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE RankNTypes #-}-{-# LANGUAGE TemplateHaskell #-} -- | Internal functions for Packets. module Text.Damn.Packet.Internal (@@ -18,9 +17,6 @@ import Data.Data import Data.Map (Map) import Data.Text (Text)-#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ < 707-import Data.Typeable (Typeable)-#endif -- | A type synonym--because pressing spacebar is pretty irritating. type Arguments = Map Text Text
src/Text/Damn/Packet/Parser.hs view
@@ -13,11 +13,7 @@ ) where import Prelude hiding (null)-import Control.Applicative ((<$>), (*>), liftA3, pure-#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ < 707- , (<*>), many-#endif- )+import Control.Applicative ((<$>), (*>), liftA3, pure) import Control.Arrow (second) import Data.Attoparsec.Text hiding (parse) import Data.Char@@ -30,7 +26,7 @@ -- | A lens on 'pktSubpacket''. pktSubpacketL :: Functor f => (Maybe Packet -> f (Maybe Packet)) -> Packet -> f Packet pktSubpacketL afb s = setter s <$> afb (getter s)- where getter p = pktSubpacket' p+ where getter = pktSubpacket' setter pkt m = pkt { pktBody = render <$> m } {-# INLINE pktSubpacketL #-} @@ -70,13 +66,13 @@ (header, body) = second (T.drop 2) $ T.breakOn "\n\n" adjustedStr packet = parseOnly headP header addBody (Right s) = Right $ s { pktBody = Just body }- addBody (Left l) = Left l+ addBody l@Left{..} = l -- | Parse some text, discarding any failure message. parse' :: Text -> Maybe Packet parse' s = case parse s of- Right pk -> Just pk Left _ -> Nothing+ Right pk -> Just pk {-# INLINE parse' #-} headP :: Parser Packet