Hello community,

here is the log from the commit of package ghc-attoparsec for openSUSE:Factory 
checked in at 2018-05-30 11:59:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-attoparsec (Old)
 and      /work/SRC/openSUSE:Factory/.ghc-attoparsec.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-attoparsec"

Wed May 30 11:59:53 2018 rev:12 rq:607744 version:0.13.2.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-attoparsec/ghc-attoparsec.changes    
2017-09-15 21:21:00.669791015 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-attoparsec.new/ghc-attoparsec.changes       
2018-05-30 12:23:28.333806144 +0200
@@ -1,0 +2,7 @@
+Mon May 14 17:02:11 UTC 2018 - psim...@suse.com
+
+- Update attoparsec to version 0.13.2.2.
+  * Improved performance of `Data.Attoparsec.Text.asciiCI`
+  * `pure` is now strict in `Position`
+
+-------------------------------------------------------------------

Old:
----
  attoparsec-0.13.1.0.tar.gz

New:
----
  attoparsec-0.13.2.2.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ghc-attoparsec.spec ++++++
--- /var/tmp/diff_new_pack.QZpY7W/_old  2018-05-30 12:23:29.373774492 +0200
+++ /var/tmp/diff_new_pack.QZpY7W/_new  2018-05-30 12:23:29.377774370 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package ghc-attoparsec
 #
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
 %global pkg_name attoparsec
 %bcond_with tests
 Name:           ghc-%{pkg_name}
-Version:        0.13.1.0
+Version:        0.13.2.2
 Release:        0
 Summary:        Fast combinator parsing for bytestrings and text
 License:        BSD-3-Clause
@@ -77,7 +77,7 @@
 %ghc_pkg_recache
 
 %files -f %{name}.files
-%doc LICENSE
+%license LICENSE
 
 %files devel -f %{name}-devel.files
 %doc README.markdown changelog.md examples

++++++ attoparsec-0.13.1.0.tar.gz -> attoparsec-0.13.2.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/attoparsec-0.13.1.0/Data/Attoparsec/Internal/Types.hs 
new/attoparsec-0.13.2.2/Data/Attoparsec/Internal/Types.hs
--- old/attoparsec-0.13.1.0/Data/Attoparsec/Internal/Types.hs   2016-09-15 
18:24:34.000000000 +0200
+++ new/attoparsec-0.13.2.2/Data/Attoparsec/Internal/Types.hs   2018-01-12 
23:56:55.000000000 +0100
@@ -180,7 +180,7 @@
 {-# INLINE apP #-}
 
 instance Applicative (Parser i) where
-    pure v = Parser $ \t pos more _lose succ -> succ t pos more v
+    pure v = Parser $ \t !pos more _lose succ -> succ t pos more v
     {-# INLINE pure #-}
     (<*>)  = apP
     {-# INLINE (<*>) #-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/attoparsec-0.13.1.0/Data/Attoparsec/Text/Internal.hs 
new/attoparsec-0.13.2.2/Data/Attoparsec/Text/Internal.hs
--- old/attoparsec-0.13.1.0/Data/Attoparsec/Text/Internal.hs    2016-09-15 
18:24:34.000000000 +0200
+++ new/attoparsec-0.13.2.2/Data/Attoparsec/Text/Internal.hs    2018-01-12 
23:56:55.000000000 +0100
@@ -1,4 +1,4 @@
-{-# LANGUAGE BangPatterns, CPP, FlexibleInstances, GADTs, OverloadedStrings,
+{-# LANGUAGE BangPatterns, FlexibleInstances, GADTs, OverloadedStrings,
     Rank2Types, RecordWildCards, TypeFamilies, TypeSynonymInstances #-}
 {-# OPTIONS_GHC -fno-warn-orphans #-}
 -- |
@@ -65,17 +65,14 @@
     , atEnd
     ) where
 
-#if !MIN_VERSION_base(4,8,0)
-import Control.Applicative ((<$>))
-#endif
-import Control.Applicative ((<|>))
+import Control.Applicative ((<|>), (<$>), pure, (*>))
 import Control.Monad (when)
 import Data.Attoparsec.Combinator ((<?>))
 import Data.Attoparsec.Internal
 import Data.Attoparsec.Internal.Types hiding (Parser, Failure, Success)
 import qualified Data.Attoparsec.Text.Buffer as Buf
 import Data.Attoparsec.Text.Buffer (Buffer, buffer)
-import Data.Char (chr, ord)
+import Data.Char (isAsciiUpper, isAsciiLower, toUpper, toLower)
 import Data.List (intercalate)
 import Data.String (IsString(..))
 import Data.Text.Internal (Text(..))
@@ -225,15 +222,16 @@
 
 -- | Satisfy a literal string, ignoring case for characters in the ASCII range.
 asciiCI :: Text -> Parser Text
-asciiCI s = string_ (stringSuspended asciiToLower) asciiToLower s
-  where
-    asciiToLower = T.map f
-      where
-        offset = ord 'a' - ord 'A'
-        f c | 'A' <= c && c <= 'Z' = chr (ord c + offset)
-            | otherwise            = c
+asciiCI s = fmap fst $ match $ T.foldr ((*>) . asciiCharCI) (pure ()) s
 {-# INLINE asciiCI #-}
 
+asciiCharCI :: Char -> Parser Char
+asciiCharCI c
+  | isAsciiUpper c = char c <|> char (toLower c)
+  | isAsciiLower c = char c <|> char (toUpper c)
+  | otherwise = char c
+{-# INLINE asciiCharCI #-}
+
 -- | Skip past input for as long as the predicate returns 'True'.
 skipWhile :: (Char -> Bool) -> Parser ()
 skipWhile p = go
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/attoparsec-0.13.1.0/attoparsec.cabal 
new/attoparsec-0.13.2.2/attoparsec.cabal
--- old/attoparsec-0.13.1.0/attoparsec.cabal    2016-09-15 18:24:34.000000000 
+0200
+++ new/attoparsec-0.13.2.2/attoparsec.cabal    2018-01-12 23:56:55.000000000 
+0100
@@ -1,12 +1,12 @@
 name:            attoparsec
-version:         0.13.1.0
+version:         0.13.2.2
 license:         BSD3
 license-file:    LICENSE
 category:        Text, Parsing
 author:          Bryan O'Sullivan <b...@serpentine.com>
-maintainer:      Bryan O'Sullivan <b...@serpentine.com>
+maintainer:      Bryan O'Sullivan <b...@serpentine.com>, Ben Gamari 
<b...@smart-cactus.org>
 stability:       experimental
-tested-with:     GHC == 7.0.1, GHC == 7.2.1, GHC == 7.4.2, GHC ==7.6.3, GHC 
==7.8.4, GHC ==7.10.3
+tested-with:     GHC == 7.0.4, GHC == 7.2.2, GHC == 7.4.2, GHC ==7.6.3, GHC 
==7.8.4, GHC ==7.10.3, GHC ==8.0.2, GHC ==8.2.2
 synopsis:        Fast combinator parsing for bytestrings and text
 cabal-version:   >= 1.8
 homepage:        https://github.com/bos/attoparsec
@@ -98,6 +98,24 @@
                   QC.Text.FastSet
                   QC.Text.Regressions
 
+  other-modules:  Data.Attoparsec.ByteString
+                  Data.Attoparsec.ByteString.Buffer
+                  Data.Attoparsec.ByteString.Char8
+                  Data.Attoparsec.ByteString.FastSet
+                  Data.Attoparsec.ByteString.Internal
+                  Data.Attoparsec.ByteString.Lazy
+                  Data.Attoparsec.Combinator
+                  Data.Attoparsec.Internal
+                  Data.Attoparsec.Internal.Fhthagn
+                  Data.Attoparsec.Internal.Types
+                  Data.Attoparsec.Number
+                  Data.Attoparsec.Text
+                  Data.Attoparsec.Text.Buffer
+                  Data.Attoparsec.Text.FastSet
+                  Data.Attoparsec.Text.Internal
+                  Data.Attoparsec.Text.Lazy
+                  Data.Attoparsec.Zepto
+
   ghc-options:
     -Wall -threaded -rtsopts
 
@@ -109,7 +127,7 @@
     base >= 4 && < 5,
     bytestring,
     deepseq >= 1.1,
-    QuickCheck >= 2.7,
+    QuickCheck >= 2.7 && < 2.10,
     quickcheck-unicode,
     scientific,
     tasty >= 0.11,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/attoparsec-0.13.1.0/changelog.md 
new/attoparsec-0.13.2.2/changelog.md
--- old/attoparsec-0.13.1.0/changelog.md        2016-09-15 18:24:34.000000000 
+0200
+++ new/attoparsec-0.13.2.2/changelog.md        2018-01-12 23:56:55.000000000 
+0100
@@ -1,3 +1,11 @@
+0.13.2.1
+
+* Improved performance of `Data.Attoparsec.Text.asciiCI`
+
+0.13.2.0
+
+* `pure` is now strict in `Position`
+
 0.13.1.0
 
 * `runScanner` now correctly returns the final state


Reply via email to