Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ghc-optics-extra for openSUSE:Factory checked in at 2021-03-10 08:55:16 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-optics-extra (Old) and /work/SRC/openSUSE:Factory/.ghc-optics-extra.new.2378 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-optics-extra" Wed Mar 10 08:55:16 2021 rev:3 rq:877659 version:0.4 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-optics-extra/ghc-optics-extra.changes 2020-12-22 11:43:46.293732610 +0100 +++ /work/SRC/openSUSE:Factory/.ghc-optics-extra.new.2378/ghc-optics-extra.changes 2021-03-10 08:57:22.178896064 +0100 @@ -1,0 +2,13 @@ +Tue Feb 23 20:48:53 UTC 2021 - psim...@suse.com + +- Update optics-extra to version 0.4. + # optics-extra-0.4 (2021-02-22) + * Add support for GHC-9.0 + +------------------------------------------------------------------- +Sat Feb 20 00:07:39 UTC 2021 - psim...@suse.com + +- Update optics-extra to version 0.3 revision 1. + Upstream has revised the Cabal build instructions on Hackage. + +------------------------------------------------------------------- Old: ---- optics-extra-0.3.tar.gz New: ---- optics-extra-0.4.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-optics-extra.spec ++++++ --- /var/tmp/diff_new_pack.daIivM/_old 2021-03-10 08:57:22.630896532 +0100 +++ /var/tmp/diff_new_pack.daIivM/_new 2021-03-10 08:57:22.630896532 +0100 @@ -1,7 +1,7 @@ # # spec file for package ghc-optics-extra # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,7 +18,7 @@ %global pkg_name optics-extra Name: ghc-%{pkg_name} -Version: 0.3 +Version: 0.4 Release: 0 Summary: Extra utilities and instances for optics-core License: BSD-3-Clause @@ -30,6 +30,7 @@ BuildRequires: ghc-containers-devel BuildRequires: ghc-hashable-devel BuildRequires: ghc-indexed-profunctors-devel +BuildRequires: ghc-indexed-traversable-instances-devel BuildRequires: ghc-mtl-devel BuildRequires: ghc-optics-core-devel BuildRequires: ghc-rpm-macros ++++++ optics-extra-0.3.tar.gz -> optics-extra-0.4.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/optics-extra-0.3/CHANGELOG.md new/optics-extra-0.4/CHANGELOG.md --- old/optics-extra-0.3/CHANGELOG.md 2001-09-09 03:46:40.000000000 +0200 +++ new/optics-extra-0.4/CHANGELOG.md 2001-09-09 03:46:40.000000000 +0200 @@ -1,3 +1,6 @@ +# optics-extra-0.4 (2021-02-22) +* Add support for GHC-9.0 + # optics-extra-0.3 (2020-04-15) * `optics-core-0.3` compatible release * GHC-8.10 support diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/optics-extra-0.3/optics-extra.cabal new/optics-extra-0.4/optics-extra.cabal --- old/optics-extra-0.3/optics-extra.cabal 2001-09-09 03:46:40.000000000 +0200 +++ new/optics-extra-0.4/optics-extra.cabal 2001-09-09 03:46:40.000000000 +0200 @@ -1,12 +1,12 @@ name: optics-extra -version: 0.3 +version: 0.4 license: BSD3 license-file: LICENSE build-type: Simple cabal-version: 1.24 maintainer: opt...@well-typed.com author: Andrzej Rybczak -tested-with: ghc ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.3 || ==8.10.1, GHCJS ==8.4 +tested-with: ghc ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.3, GHCJS ==8.4 synopsis: Extra utilities and instances for optics-core category: Data, Optics, Lenses description: @@ -30,18 +30,19 @@ hs-source-dirs: src ghc-options: -Wall - build-depends: base >= 4.9 && <5 - , array >= 0.5.1.1 && <0.6 - , bytestring >= 0.10.8 && <0.11 - , containers >= 0.5.7.1 && <0.7 + build-depends: base >= 4.10 && <5 + , array >= 0.5.2.0 && <0.6 + , bytestring >= 0.10.8 && <0.12 + , containers >= 0.5.10.2 && <0.7 , hashable >= 1.1.1 && <1.4 , indexed-profunctors >= 0.1 && <0.2 , mtl >= 2.2.2 && <2.3 - , optics-core >= 0.3 && <0.3.1 + , optics-core >= 0.4 && <0.4.1 , text >= 1.2 && <1.3 , transformers >= 0.5 && <0.6 , unordered-containers >= 0.2.6 && <0.3 , vector >= 0.11 && <0.13 + , indexed-traversable-instances >=0.1 && <0.2 exposed-modules: Optics.Extra diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/optics-extra-0.3/src/Data/ByteString/Lazy/Optics.hs new/optics-extra-0.4/src/Data/ByteString/Lazy/Optics.hs --- old/optics-extra-0.3/src/Data/ByteString/Lazy/Optics.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/optics-extra-0.4/src/Data/ByteString/Lazy/Optics.hs 2001-09-09 03:46:40.000000000 +0200 @@ -8,8 +8,9 @@ , pattern Chars ) where -import Data.ByteString.Lazy as Words -import Data.ByteString.Lazy.Char8 as Char8 +import Data.ByteString.Lazy (ByteString) +import qualified Data.ByteString.Lazy as Words +import qualified Data.ByteString.Lazy.Char8 as Char8 import Data.Int (Int64) import Data.Word (Word8) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/optics-extra-0.3/src/Data/ByteString/Optics.hs new/optics-extra-0.4/src/Data/ByteString/Optics.hs --- old/optics-extra-0.3/src/Data/ByteString/Optics.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/optics-extra-0.4/src/Data/ByteString/Optics.hs 2001-09-09 03:46:40.000000000 +0200 @@ -8,10 +8,10 @@ , pattern Chars ) where -import Data.ByteString as Strict -import Data.ByteString.Lazy as Lazy -import Data.Int -import Data.Word +import qualified Data.ByteString as Strict +import qualified Data.ByteString.Lazy as Lazy +import Data.Int (Int64) +import Data.Word (Word8) import qualified Data.ByteString.Lazy.Optics as Lazy import qualified Data.ByteString.Strict.Optics as Strict diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/optics-extra-0.3/src/Data/ByteString/Strict/Optics.hs new/optics-extra-0.4/src/Data/ByteString/Strict/Optics.hs --- old/optics-extra-0.3/src/Data/ByteString/Strict/Optics.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/optics-extra-0.4/src/Data/ByteString/Strict/Optics.hs 2001-09-09 03:46:40.000000000 +0200 @@ -7,10 +7,11 @@ , pattern Chars ) where -import Data.ByteString as Words -import Data.ByteString.Char8 as Char8 -import Data.Int -import Data.Word +import Data.ByteString (ByteString) +import qualified Data.ByteString as Words +import qualified Data.ByteString.Char8 as Char8 +import Data.Int (Int64) +import Data.Word (Word8) import Optics.Core import Optics.Extra.Internal.ByteString diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/optics-extra-0.3/src/Data/HashMap/Optics.hs new/optics-extra-0.4/src/Data/HashMap/Optics.hs --- old/optics-extra-0.3/src/Data/HashMap/Optics.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/optics-extra-0.4/src/Data/HashMap/Optics.hs 2001-09-09 03:46:40.000000000 +0200 @@ -47,8 +47,9 @@ , at' ) where -import Data.Hashable -import Data.HashMap.Lazy as HashMap +import Data.Hashable (Hashable) +import Data.HashMap.Lazy (HashMap) +import qualified Data.HashMap.Lazy as HashMap import Optics.Core diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/optics-extra-0.3/src/Data/HashSet/Optics.hs new/optics-extra-0.4/src/Data/HashSet/Optics.hs --- old/optics-extra-0.3/src/Data/HashSet/Optics.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/optics-extra-0.4/src/Data/HashSet/Optics.hs 2001-09-09 03:46:40.000000000 +0200 @@ -10,8 +10,9 @@ , setOf ) where -import Data.Hashable -import Data.HashSet as HashSet +import Data.Hashable (Hashable) +import Data.HashSet (HashSet) +import qualified Data.HashSet as HashSet import Optics.Fold import Optics.Optic @@ -24,7 +25,7 @@ -- but you can manipulate it by reading using 'Optics.Fold.folded' and -- reindexing it via 'setmapped'. -- --- >>> over setmapped (+1) (fromList [1,2,3,4]) +-- >>> over setmapped (+1) (HashSet.fromList [1,2,3,4]) -- fromList [2,3,4,5] setmapped :: (Eq b, Hashable b) => Setter (HashSet a) (HashSet b) a b setmapped = sets HashSet.map diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/optics-extra-0.3/src/Data/Text/Lazy/Optics.hs new/optics-extra-0.4/src/Data/Text/Lazy/Optics.hs --- old/optics-extra-0.3/src/Data/Text/Lazy/Optics.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/optics-extra-0.4/src/Data/Text/Lazy/Optics.hs 2001-09-09 03:46:40.000000000 +0200 @@ -21,10 +21,11 @@ , pattern Text ) where -import Data.ByteString.Lazy as ByteString -import Data.Text.Lazy as Text -import Data.Text.Lazy.Builder -import Data.Text.Lazy.Encoding +import Data.ByteString.Lazy (ByteString) +import Data.Text.Lazy (Text) +import qualified Data.Text.Lazy as Text +import qualified Data.Text.Lazy.Builder as B +import qualified Data.Text.Lazy.Encoding as TE import Data.Profunctor.Indexed @@ -34,6 +35,9 @@ import Optics.Internal.IxTraversal import Optics.Internal.Optic +-- $setup +-- >>> import Data.ByteString.Lazy as LBS + -- | This isomorphism can be used to 'pack' (or 'unpack') lazy 'Text.Text'. -- -- >>> "hello" ^. packed -- :: Text @@ -87,8 +91,8 @@ -- 'fromLazyText' x ??? x 'Optics.Operators.^.' 'builder' -- 'toLazyText' x ??? x 'Optics.Operators.^.' 're' 'builder' -- @ -builder :: Iso' Text Builder -builder = iso fromLazyText toLazyText +builder :: Iso' Text B.Builder +builder = iso B.fromLazyText B.toLazyText {-# INLINE builder #-} -- | Traverse the individual characters in a 'Text.Text'. @@ -117,10 +121,10 @@ -- Note: This function does not decode lazily, as it must consume the entire -- input before deciding whether or not it fails. -- --- >>> ByteString.unpack (utf8 # Text.pack "???") +-- >>> LBS.unpack (utf8 # Text.pack "???") -- [226,152,131] utf8 :: Prism' ByteString Text -utf8 = prism' encodeUtf8 (preview _Right . decodeUtf8') +utf8 = prism' TE.encodeUtf8 (preview _Right . TE.decodeUtf8') {-# INLINE utf8 #-} pattern Text :: String -> Text diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/optics-extra-0.3/src/Data/Text/Optics.hs new/optics-extra-0.4/src/Data/Text/Optics.hs --- old/optics-extra-0.3/src/Data/Text/Optics.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/optics-extra-0.4/src/Data/Text/Optics.hs 2001-09-09 03:46:40.000000000 +0200 @@ -19,9 +19,9 @@ , pattern Text ) where -import Data.Text as Strict -import Data.Text.Lazy as Lazy -import Data.Text.Lazy.Builder +import qualified Data.Text as Strict +import qualified Data.Text.Lazy as Lazy +import qualified Data.Text.Lazy.Builder as B import Optics.Core import qualified Data.Text.Lazy.Optics as Lazy @@ -44,7 +44,7 @@ -- @ -- 'fromText' x ??? x 'Optics.Operators.^.' 'builder' -- @ - builder :: Iso' t Builder + builder :: Iso' t B.Builder -- | Traverse the individual characters in strict or lazy 'Text'. -- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/optics-extra-0.3/src/Data/Text/Strict/Optics.hs new/optics-extra-0.4/src/Data/Text/Strict/Optics.hs --- old/optics-extra-0.3/src/Data/Text/Strict/Optics.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/optics-extra-0.4/src/Data/Text/Strict/Optics.hs 2001-09-09 03:46:40.000000000 +0200 @@ -22,10 +22,11 @@ ) where import Data.ByteString (ByteString) -import Data.Text as Strict -import Data.Text.Encoding +import Data.Text (Text) +import qualified Data.Text as Strict +import qualified Data.Text.Encoding as TE import Data.Text.Lazy (toStrict) -import Data.Text.Lazy.Builder +import qualified Data.Text.Lazy.Builder as B import Data.Profunctor.Indexed @@ -48,7 +49,7 @@ -- 'packed' ??? 'iso' 'pack' 'unpack' -- @ packed :: Iso' String Text -packed = iso pack unpack +packed = iso Strict.pack Strict.unpack {-# INLINE packed #-} -- | This isomorphism can be used to 'unpack' (or 'pack') strict 'Strict.Text'. @@ -87,8 +88,8 @@ -- 'fromText' x ??? x 'Optics.Operators.^.' 'builder' -- 'toStrict' ('toLazyText' x) ??? x 'Optics.Operators.^.' 're' 'builder' -- @ -builder :: Iso' Text Builder -builder = iso fromText (toStrict . toLazyText) +builder :: Iso' Text B.Builder +builder = iso B.fromText (toStrict . B.toLazyText) {-# INLINE builder #-} -- | Traverse the individual characters in strict 'Strict.Text'. @@ -114,7 +115,7 @@ -- >>> utf8 # Strict.pack "???" -- "\226\152\131" utf8 :: Prism' ByteString Text -utf8 = prism' encodeUtf8 (preview _Right . decodeUtf8') +utf8 = prism' TE.encodeUtf8 (preview _Right . TE.decodeUtf8') {-# INLINE utf8 #-} pattern Text :: String -> Text @@ -126,7 +127,7 @@ -- | Internal implementation of 'unpacked'. unpacked__ :: Profunctor p => Optic__ p i i Text Text String String -unpacked__ = dimap unpack pack +unpacked__ = dimap Strict.unpack Strict.pack {-# INLINE unpacked__ #-} -- | Internal implementation of 'text'. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/optics-extra-0.3/src/Data/Vector/Generic/Optics.hs new/optics-extra-0.4/src/Data/Vector/Generic/Optics.hs --- old/optics-extra-0.3/src/Data/Vector/Generic/Optics.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/optics-extra-0.4/src/Data/Vector/Generic/Optics.hs 2001-09-09 03:46:40.000000000 +0200 @@ -18,9 +18,9 @@ ) where import Data.Vector.Fusion.Bundle (Bundle) -import Data.Vector.Generic as V hiding (zip, filter, indexed) +import Data.Vector.Generic (Vector) +import qualified Data.Vector.Generic as V import Data.Vector.Generic.New (New) -import Prelude hiding ((++), length, null, head, tail, init, last, map, reverse) import Data.Profunctor.Indexed @@ -30,6 +30,9 @@ import Optics.Internal.IxFold import Optics.Internal.Optic +-- $setup +-- >>> import qualified Data.Vector as Vector + -- | @sliced i n@ provides a 'Lens' that edits the @n@ elements starting at -- index @i@ from a 'Lens'. -- @@ -50,7 +53,7 @@ -> Int -- ^ @n@ length -> Lens' (v a) (v a) sliced i n = lensVL $ \f v -> - (\v0 -> v // zip [i..i+n-1] (V.toList v0)) <$> f (slice i n v) + (\v0 -> v V.// zip [i..i+n-1] (V.toList v0)) <$> f (V.slice i n v) {-# INLINE sliced #-} -- | Similar to 'toListOf', but returning a 'Vector'. @@ -62,7 +65,7 @@ => Optic' k is s a -> s -> v a -toVectorOf l s = fromList (toListOf l s) +toVectorOf l s = V.fromList (toListOf l s) {-# INLINE toVectorOf #-} -- | Convert a list to a 'Vector' (or back.) @@ -75,32 +78,32 @@ vector :: (Vector v a, Vector v b) => Iso [a] [b] (v a) (v b) -vector = iso fromList V.toList +vector = iso V.fromList V.toList {-# INLINE vector #-} -- | Convert a 'Vector' to a finite 'Bundle' (or back.) asStream :: (Vector v a, Vector v b) => Iso (v a) (v b) (Bundle v a) (Bundle v b) -asStream = iso stream unstream +asStream = iso V.stream V.unstream {-# INLINE asStream #-} -- | Convert a 'Vector' to a finite 'Bundle' from right to left (or back.) asStreamR :: (Vector v a, Vector v b) => Iso (v a) (v b) (Bundle v a) (Bundle v b) -asStreamR = iso streamR unstreamR +asStreamR = iso V.streamR V.unstreamR {-# INLINE asStreamR #-} -- | Convert a 'Vector' back and forth to an initializer that when run produces -- a copy of the 'Vector'. cloned :: Vector v a => Iso' (v a) (New v a) -cloned = iso clone new +cloned = iso V.clone V.new {-# INLINE cloned #-} -- | Convert a 'Vector' to a version that doesn't retain any extra memory. forced :: (Vector v a, Vector v b) => Iso (v a) (v b) (v a) (v b) -forced = iso force force +forced = iso V.force V.force {-# INLINE forced #-} -- | This 'Traversal' will ignore any duplicates in the supplied list of @@ -110,7 +113,7 @@ -- [4,8,6,12,20,22] ordinals :: forall v a. Vector v a => [Int] -> IxTraversal' Int (v a) a ordinals is = itraversalVL $ \f v -> - (v //) <$> traverse (\i -> (,) i <$> f i (v ! i)) (ordinalNub (length v) is) + (v V.//) <$> traverse (\i -> (,) i <$> f i (v V.! i)) (ordinalNub (V.length v) is) {-# INLINE ordinals #-} -- | Like 'ix' but polymorphic in the vector type. @@ -132,7 +135,7 @@ converted :: (Vector v a, Vector w a, Vector v b, Vector w b) => Iso (v a) (v b) (w a) (w b) -converted = iso convert convert +converted = iso V.convert V.convert {-# INLINE converted #-} ---------------------------------------- @@ -189,6 +192,3 @@ :: (V.Vector v a, V.Vector v b) => IxFunArrow (Int -> j) (v a) (v b) #-} - --- $setup --- >>> import qualified Data.Vector as Vector diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/optics-extra-0.3/src/Data/Vector/Optics.hs new/optics-extra-0.4/src/Data/Vector/Optics.hs --- old/optics-extra-0.3/src/Data/Vector/Optics.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/optics-extra-0.4/src/Data/Vector/Optics.hs 2001-09-09 03:46:40.000000000 +0200 @@ -10,12 +10,13 @@ , ordinals ) where -import Data.Vector as Vector hiding (zip, filter, indexed) -import Prelude hiding ((++), length, null, head, tail, init, last, map, reverse) - +import Data.Vector (Vector) import Optics.Core import qualified Data.Vector.Generic.Optics as G +-- $setup +-- >>> import Data.Vector as Vector + -- | @sliced i n@ provides a 'Lens' that edits the @n@ elements starting at -- index @i@ from a 'Lens'. -- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/optics-extra-0.3/src/Optics/At.hs new/optics-extra-0.4/src/Optics/At.hs --- old/optics-extra-0.3/src/Optics/At.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/optics-extra-0.4/src/Optics/At.hs 2001-09-09 03:46:40.000000000 +0200 @@ -43,19 +43,21 @@ , Contains(..) ) where -import Data.ByteString as StrictB -import Data.ByteString.Lazy as LazyB -import Data.HashMap.Lazy as HashMap -import Data.HashSet as HashSet -import Data.Hashable -import Data.Int -import Data.Text as StrictT -import Data.Text.Lazy as LazyT -import Data.Vector as Vector hiding (indexed) -import Data.Vector.Primitive as Prim -import Data.Vector.Storable as Storable -import Data.Vector.Unboxed as Unboxed hiding (indexed) -import Data.Word +import qualified Data.ByteString as StrictB +import qualified Data.ByteString.Lazy as LazyB +import Data.HashMap.Lazy (HashMap) +import qualified Data.HashMap.Lazy as HashMap +import Data.HashSet (HashSet) +import qualified Data.HashSet as HashSet +import Data.Hashable (Hashable) +import Data.Int (Int64) +import qualified Data.Text as StrictT +import qualified Data.Text.Lazy as LazyT +import qualified Data.Vector as Vector hiding (indexed) +import qualified Data.Vector.Primitive as Prim +import qualified Data.Vector.Storable as Storable +import qualified Data.Vector.Unboxed as Unboxed hiding (indexed) +import Data.Word (Word8) import Optics.Core @@ -100,7 +102,7 @@ {-# INLINE ix #-} type instance IxValue (Prim.Vector a) = a -instance Prim a => Ixed (Prim.Vector a) where +instance Prim.Prim a => Ixed (Prim.Vector a) where ix i = atraversalVL $ \point f v -> if 0 <= i && i < Prim.length v then f (v Prim.! i) <&> \a -> v Prim.// [(i, a)] @@ -108,7 +110,7 @@ {-# INLINE ix #-} type instance IxValue (Storable.Vector a) = a -instance Storable a => Ixed (Storable.Vector a) where +instance Storable.Storable a => Ixed (Storable.Vector a) where ix i = atraversalVL $ \point f v -> if 0 <= i && i < Storable.length v then f (v Storable.! i) <&> \a -> v Storable.// [(i, a)] @@ -116,7 +118,7 @@ {-# INLINE ix #-} type instance IxValue (Unboxed.Vector a) = a -instance Unbox a => Ixed (Unboxed.Vector a) where +instance Unboxed.Unbox a => Ixed (Unboxed.Vector a) where ix i = atraversalVL $ \point f v -> if 0 <= i && i < Unboxed.length v then f (v Unboxed.! i) <&> \a -> v Unboxed.// [(i, a)] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/optics-extra-0.3/src/Optics/Cons.hs new/optics-extra-0.4/src/Optics/Cons.hs --- old/optics-extra-0.3/src/Optics/Cons.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/optics-extra-0.4/src/Optics/Cons.hs 2001-09-09 03:46:40.000000000 +0200 @@ -29,7 +29,7 @@ import Data.Vector.Primitive (Prim) import Data.Vector.Storable (Storable) import Data.Vector.Unboxed (Unbox) -import Data.Word +import Data.Word (Word8) import qualified Data.ByteString as StrictB import qualified Data.ByteString.Lazy as LazyB import qualified Data.Text as StrictT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/optics-extra-0.3/src/Optics/Each.hs new/optics-extra-0.4/src/Optics/Each.hs --- old/optics-extra-0.3/src/Optics/Each.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/optics-extra-0.4/src/Optics/Each.hs 2001-09-09 03:46:40.000000000 +0200 @@ -13,18 +13,19 @@ Each(..) ) where -import Data.ByteString as SB -import Data.ByteString.Lazy as LB -import Data.HashMap.Lazy as HashMap -import Data.Int -import Data.Text as ST -import Data.Text.Lazy as LT +import qualified Data.ByteString as SB +import qualified Data.ByteString.Lazy as LB +import Data.HashMap.Lazy (HashMap) +import qualified Data.HashMap.Lazy as HashMap +import Data.Int (Int64) +import qualified Data.Text as ST +import qualified Data.Text.Lazy as LT import Data.Text.Optics (text) import Data.Vector.Generic.Optics (vectorTraverse) import Data.Vector.Primitive (Prim) import Data.Vector.Storable (Storable) import Data.Vector.Unboxed (Unbox) -import Data.Word +import Data.Word (Word8) import qualified Data.Vector as V import qualified Data.Vector.Primitive as VP import qualified Data.Vector.Storable as VS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/optics-extra-0.3/src/Optics/Empty.hs new/optics-extra-0.4/src/Optics/Empty.hs --- old/optics-extra-0.3/src/Optics/Empty.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/optics-extra-0.4/src/Optics/Empty.hs 2001-09-09 03:46:40.000000000 +0200 @@ -18,15 +18,17 @@ , pattern Empty ) where -import Data.ByteString as StrictB -import Data.ByteString.Lazy as LazyB -import Data.HashMap.Lazy as HashMap -import Data.HashSet as HashSet -import Data.Text as StrictT -import Data.Text.Lazy as LazyT -import Data.Vector as Vector -import Data.Vector.Storable as Storable -import Data.Vector.Unboxed as Unboxed +import qualified Data.ByteString as StrictB +import qualified Data.ByteString.Lazy as LazyB +import Data.HashMap.Lazy (HashMap) +import qualified Data.HashMap.Lazy as HashMap +import Data.HashSet (HashSet) +import qualified Data.HashSet as HashSet +import qualified Data.Text as StrictT +import qualified Data.Text.Lazy as LazyT +import qualified Data.Vector as Vector +import qualified Data.Vector.Storable as Storable +import qualified Data.Vector.Unboxed as Unboxed import Optics.Core @@ -44,11 +46,11 @@ _Empty = nearly Vector.empty Vector.null {-# INLINE _Empty #-} -instance Unbox a => AsEmpty (Unboxed.Vector a) where +instance Unboxed.Unbox a => AsEmpty (Unboxed.Vector a) where _Empty = nearly Unboxed.empty Unboxed.null {-# INLINE _Empty #-} -instance Storable a => AsEmpty (Storable.Vector a) where +instance Storable.Storable a => AsEmpty (Storable.Vector a) where _Empty = nearly Storable.empty Storable.null {-# INLINE _Empty #-} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/optics-extra-0.3/src/Optics/Extra/Internal/Zoom.hs new/optics-extra-0.4/src/Optics/Extra/Internal/Zoom.hs --- old/optics-extra-0.3/src/Optics/Extra/Internal/Zoom.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/optics-extra-0.4/src/Optics/Extra/Internal/Zoom.hs 2001-09-09 03:46:40.000000000 +0200 @@ -139,8 +139,7 @@ instance Monoid a => Monoid (May a) where mempty = May $ Just mempty - May (Just a) `mappend` May (Just b) = May $ Just (a `mappend` b) - _ `mappend` _ = May Nothing + mappend = (<>) {-# INLINE mempty #-} {-# INLINE mappend #-} @@ -163,9 +162,7 @@ instance Monoid a => Monoid (Err e a) where mempty = Err $ Right mempty - Err (Right a) `mappend` Err (Right b) = Err $ Right (a `mappend` b) - Err (Left e) `mappend` _ = Err $ Left e - _ `mappend` Err (Left e) = Err $ Left e + mappend = (<>) {-# INLINE mempty #-} {-# INLINE mappend #-} @@ -186,7 +183,7 @@ instance (Monad m, Monoid r) => Monoid (Effect m r) where mempty = Effect $ pure mempty - Effect ma `mappend` Effect mb = Effect $ mappend <$> ma <*> mb + mappend = (<>) {-# INLINE mempty #-} {-# INLINE mappend #-} @@ -206,10 +203,7 @@ instance (Monoid c, Monoid w, Monad m) => Monoid (EffectRWS w s m c) where mempty = EffectRWS $ \s -> pure (mempty, s, mempty) - EffectRWS ma `mappend` EffectRWS mb = EffectRWS $ \s -> do - (c, s', w) <- ma s - (c', s'', w') <- mb s' - pure (c `mappend` c', s'', w `mappend` w') + mappend = (<>) {-# INLINE mempty #-} {-# INLINE mappend #-} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/optics-extra-0.3/src/Optics/Indexed.hs new/optics-extra-0.4/src/Optics/Indexed.hs --- old/optics-extra-0.3/src/Optics/Indexed.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/optics-extra-0.4/src/Optics/Indexed.hs 2001-09-09 03:46:40.000000000 +0200 @@ -51,9 +51,6 @@ , ifor ) where -import qualified Data.HashMap.Lazy as HM -import qualified Data.Vector as V - import Optics.Indexed.Core import Optics.IxAffineFold import Optics.IxAffineTraversal @@ -63,36 +60,4 @@ import Optics.IxSetter import Optics.IxTraversal ----------------------------------------- --- Extra *WithIndex instances - --- HashMap - -instance FunctorWithIndex k (HM.HashMap k) where - imap = HM.mapWithKey - {-# INLINE imap #-} -instance FoldableWithIndex k (HM.HashMap k) where - ifoldr = HM.foldrWithKey - ifoldl' = HM.foldlWithKey' . flip - {-# INLINE ifoldr #-} - {-# INLINE ifoldl' #-} -instance TraversableWithIndex k (HM.HashMap k) where - itraverse = HM.traverseWithKey - {-# INLINE itraverse #-} - --- Vector - -instance FunctorWithIndex Int V.Vector where - imap = V.imap - {-# INLINE imap #-} -instance FoldableWithIndex Int V.Vector where - ifoldMap f = ifoldr (\i -> mappend . f i) mempty - ifoldr = V.ifoldr - ifoldl' = V.ifoldl' . flip - {-# INLINE ifoldMap #-} - {-# INLINE ifoldr #-} - {-# INLINE ifoldl' #-} -instance TraversableWithIndex Int V.Vector where - itraverse f v = - let !n = V.length v in V.fromListN n <$> itraverse f (V.toList v) - {-# INLINE itraverse #-} +import Data.Functor.WithIndex.Instances () diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/optics-extra-0.3/src/Optics/Passthrough.hs new/optics-extra-0.4/src/Optics/Passthrough.hs --- old/optics-extra-0.3/src/Optics/Passthrough.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/optics-extra-0.4/src/Optics/Passthrough.hs 2001-09-09 03:46:40.000000000 +0200 @@ -16,11 +16,11 @@ -> (ViewResult k r, t) instance PermeableOptic An_Iso r where - passthrough = toLensVL + passthrough o = toLensVL o {-# INLINE passthrough #-} instance PermeableOptic A_Lens r where - passthrough = toLensVL + passthrough o = toLensVL o {-# INLINE passthrough #-} instance PermeableOptic A_Prism r where diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/optics-extra-0.3/src/Optics/Zoom.hs new/optics-extra-0.4/src/Optics/Zoom.hs --- old/optics-extra-0.3/src/Optics/Zoom.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/optics-extra-0.4/src/Optics/Zoom.hs 2001-09-09 03:46:40.000000000 +0200 @@ -9,24 +9,31 @@ , MagnifyMany(..) ) where -import Control.Monad.Reader as Reader -import Control.Monad.State -import Control.Monad.Trans.Error -import Control.Monad.Trans.Except -import Control.Monad.Trans.Identity -import Control.Monad.Trans.List -import Control.Monad.Trans.Maybe -import Control.Monad.Trans.RWS.Lazy as L -import Control.Monad.Trans.RWS.Strict as S -import Control.Monad.Trans.State.Lazy as L -import Control.Monad.Trans.State.Strict as S -import Control.Monad.Trans.Writer.Lazy as L -import Control.Monad.Trans.Writer.Strict as S +import Control.Monad.Reader (ReaderT (..), MonadReader) +import Control.Monad.State (MonadState (..)) +import Control.Monad.Trans.Error (Error, ErrorT (..)) +import Control.Monad.Trans.Except (ExceptT (..), runExceptT) +import Control.Monad.Trans.Identity (IdentityT (..)) +import Control.Monad.Trans.List (ListT (..)) +import Control.Monad.Trans.Maybe (MaybeT (..)) +import qualified Control.Monad.Trans.RWS.Lazy as L +import qualified Control.Monad.Trans.RWS.Strict as S +import qualified Control.Monad.Trans.State.Lazy as L +import qualified Control.Monad.Trans.State.Strict as S +import qualified Control.Monad.Trans.Writer.Lazy as L +import qualified Control.Monad.Trans.Writer.Strict as S import Optics.Core import Optics.Internal.Utils import Optics.Extra.Internal.Zoom +-- $setup +-- >>> import Data.Monoid +-- >>> import Control.Monad.Reader (runReader, ask) +-- >>> import Optics.State +-- >>> import Optics.State.Operators +-- >>> import Optics.View + -- Chosen so that they have lower fixity than ('%='). infixr 2 `zoom`, `zoomMaybe`, `zoomMany` infixr 2 `magnify`, `magnifyMaybe`, `magnifyMany` @@ -215,10 +222,10 @@ -- >>> (1,2) & magnify _2 (+1) -- 3 -- --- >>> flip runReader (1,2) $ magnify _1 Reader.ask +-- >>> flip runReader (1,2) $ magnify _1 ask -- 1 -- --- >>> flip runReader (1,2,[10..20]) $ magnifyMaybe (_3 % _tail) Reader.ask +-- >>> flip runReader (1,2,[10..20]) $ magnifyMaybe (_3 % _tail) ask -- Just [11,12,13,14,15,16,17,18,19,20] -- class @@ -404,9 +411,3 @@ instance MagnifyMany m n b a => MagnifyMany (ExceptT e m) (ExceptT e n) b a where magnifyMany o = ExceptT #. fmap getErr . magnifyMany o . fmap Err .# runExceptT {-# INLINE magnifyMany #-} - --- $setup --- >>> import Data.Monoid --- >>> import Optics.State --- >>> import Optics.State.Operators --- >>> import Optics.View