lens-regex-pcre 1.1.1.0 → 1.1.2.0
raw patch · 2 files changed
+2/−66 lines, 2 filesdep −gaugePVP ok
version bump matches the API change (PVP)
Dependencies removed: gauge
API changes (from Hackage documentation)
Files
- bench/Bench.hs +0/−43
- lens-regex-pcre.cabal +2/−23
− bench/Bench.hs
@@ -1,43 +0,0 @@-{-# LANGUAGE QuasiQuotes #-}-{-# LANGUAGE OverloadedStrings #-}--import Gauge.Benchmark-import Gauge.Main-import Data.ByteString as BS-import qualified Text.Regex.PCRE.Heavy as PCRE-import Control.Lens-import Control.Lens.Regex.ByteString--main :: IO ()-main = do- srcFile <- BS.readFile "./bench/data/small-bible.txt"- defaultMain- [ bgroup "static pattern search"- [ bench "pcre-heavy" $ nf (heavySearch [PCRE.re|Moses|]) srcFile- , bench "lens-regex-pcre" $ nf (lensSearch [PCRE.re|Moses|]) srcFile- ]- , bgroup "complex pattern search"- [ bench "pcre-heavy" $ nf (heavySearch [PCRE.re|l\w+e|]) srcFile- , bench "lens-regex-pcre" $ nf (lensSearch [PCRE.re|l\w+e|]) srcFile- ]- , bgroup "simple replacement"- [ bench "pcre-heavy" $ nf (heavyReplace [PCRE.re|Moses|] "Jarvis") srcFile- , bench "lens-regex-pcre" $ nf (lensReplace [PCRE.re|Moses|] "Jarvis") srcFile- ]- , bgroup "complex replacement"- [ bench "pcre-heavy" $ nf (heavyReplace [PCRE.re|M\w*s\w*s|] "Jarvis") srcFile- , bench "lens-regex-pcre" $ nf (lensReplace [PCRE.re|M\w*s\w*s|] "Jarvis") srcFile- ]- ]--heavySearch :: Regex -> BS.ByteString -> [BS.ByteString]-heavySearch pat src = fst <$> PCRE.scan pat src--lensSearch :: Regex -> BS.ByteString -> [BS.ByteString]-lensSearch pat src = src ^.. regexing pat . match--heavyReplace :: Regex -> BS.ByteString -> BS.ByteString -> BS.ByteString-heavyReplace pat replacement src = PCRE.gsub pat replacement src--lensReplace :: Regex -> BS.ByteString -> BS.ByteString -> BS.ByteString-lensReplace pat replacement src = src & regexing pat . match .~ replacement
lens-regex-pcre.cabal view
@@ -4,10 +4,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 754b704711197304d9dc42fd95daa8ff18d78f8327f4dffac02d893d13ac7ac6+-- hash: ca06684ec3205374dcafd7438214f789c5b8c448d4424483df01c05b9ec2a65b name: lens-regex-pcre-version: 1.1.1.0+version: 1.1.2.0 synopsis: A lensy interface to regular expressions description: Please see the README on GitHub at <https://github.com/ChrisPenner/lens-regex-pcre#readme> category: Regex@@ -62,27 +62,6 @@ , bytestring , containers , hspec- , lens- , lens-regex-pcre- , pcre-heavy- , pcre-light >=0.4.1.0- , template-haskell- , text- default-language: Haskell2010--benchmark lens-regex-pcre-bench- type: exitcode-stdio-1.0- main-is: Bench.hs- other-modules:- Paths_lens_regex_pcre- hs-source-dirs:- bench- ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N- build-depends:- base >=4.7 && <5- , bytestring- , containers- , gauge , lens , lens-regex-pcre , pcre-heavy