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 - [email protected]
+
+- 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 - [email protected]
+
+- 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: [email protected]
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