Hello community,

here is the log from the commit of package ghc-base-orphans for 
openSUSE:Factory checked in at 2020-10-23 15:13:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-base-orphans (Old)
 and      /work/SRC/openSUSE:Factory/.ghc-base-orphans.new.3463 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-base-orphans"

Fri Oct 23 15:13:35 2020 rev:19 rq:842739 version:0.8.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-base-orphans/ghc-base-orphans.changes        
2020-08-28 21:25:52.636453739 +0200
+++ 
/work/SRC/openSUSE:Factory/.ghc-base-orphans.new.3463/ghc-base-orphans.changes  
    2020-10-23 15:13:36.326112758 +0200
@@ -1,0 +2,9 @@
+Tue Oct  6 08:55:53 UTC 2020 - [email protected]
+
+- Update base-orphans to version 0.8.3.
+  ## Changes in 0.8.3 [2020.09.30]
+   - Backport new instances from GHC 9.0/`base-4.15`
+     * `MonadFix` and `MonadZip` instances for `Complex`
+     * `Ix` instances for tuples of size 6 through 15
+
+-------------------------------------------------------------------

Old:
----
  base-orphans-0.8.2.tar.gz

New:
----
  base-orphans-0.8.3.tar.gz

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

Other differences:
------------------
++++++ ghc-base-orphans.spec ++++++
--- /var/tmp/diff_new_pack.Dcd1Fm/_old  2020-10-23 15:13:37.338113247 +0200
+++ /var/tmp/diff_new_pack.Dcd1Fm/_new  2020-10-23 15:13:37.342113248 +0200
@@ -19,7 +19,7 @@
 %global pkg_name base-orphans
 %bcond_with tests
 Name:           ghc-%{pkg_name}
-Version:        0.8.2
+Version:        0.8.3
 Release:        0
 Summary:        Backwards-compatible orphan instances for base
 License:        MIT
@@ -37,6 +37,7 @@
 versions of 'base' to a wider (older) range of compilers.
 'base-orphans' does not export anything except the orphan instances themselves
 and complements '<http://hackage.haskell.org/package/base-compat base-compat>'.
+
 See the README for what instances are covered:
 <https://github.com/haskell-compat/base-orphans#readme>. See also the
 <https://github.com/haskell-compat/base-orphans#what-is-not-covered what is not

++++++ base-orphans-0.8.2.tar.gz -> base-orphans-0.8.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/base-orphans-0.8.2/CHANGES.markdown 
new/base-orphans-0.8.3/CHANGES.markdown
--- old/base-orphans-0.8.2/CHANGES.markdown     2001-09-09 03:46:40.000000000 
+0200
+++ new/base-orphans-0.8.3/CHANGES.markdown     2001-09-09 03:46:40.000000000 
+0200
@@ -1,3 +1,8 @@
+## Changes in 0.8.3 [2020.09.30]
+ - Backport new instances from GHC 9.0/`base-4.15`
+   * `MonadFix` and `MonadZip` instances for `Complex`
+   * `Ix` instances for tuples of size 6 through 15
+
 ## Changes in 0.8.2 [2020.01.27]
  - Backport new instances from GHC 8.10/`base-4.14`
    * `Bits`, `Bounded`, `Enum`, `FiniteBits`, `Floating`, `Fractional`,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/base-orphans-0.8.2/README.markdown 
new/base-orphans-0.8.3/README.markdown
--- old/base-orphans-0.8.2/README.markdown      2001-09-09 03:46:40.000000000 
+0200
+++ new/base-orphans-0.8.3/README.markdown      2001-09-09 03:46:40.000000000 
+0200
@@ -63,9 +63,11 @@
  * `Functor`, `Applicative`, `Alternative`, and `MonadPlus` instances for 
`ArrowMonad`
  * `Functor`, `Applicative`, `Monad`, `Alternative`, and `MonadPlus` instances
    for `Kleisli`
+ * `Ix` instances for tuples of size 6 through 15
  * `Monad` instance for `(,)`
  * `Monad` instance for `WrappedMonad`
  * `MonadFail`, `Monoid`, and `Semigroup` instances for strict `ST`
+ * `MonadFix` and `MonadZip` instances for `Complex`
  * `MonadZip` instance for `Maybe`
  * `Monoid`, `Eq`, `Ord`, `Read`, and `Show` instances for `Const`
  * `Monoid` instances for `Identity` and `IO`
@@ -93,6 +95,7 @@
 
 ## Supported versions of GHC/`base`
 
+ * `ghc-9.0.*`  / `base-4.15.*`
  * `ghc-8.10.*` / `base-4.14.*`
  * `ghc-8.8.*`  / `base-4.13.*`
  * `ghc-8.6.*`  / `base-4.12.*`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/base-orphans-0.8.2/base-orphans.cabal 
new/base-orphans-0.8.3/base-orphans.cabal
--- old/base-orphans-0.8.2/base-orphans.cabal   2001-09-09 03:46:40.000000000 
+0200
+++ new/base-orphans-0.8.3/base-orphans.cabal   2001-09-09 03:46:40.000000000 
+0200
@@ -1,16 +1,25 @@
 cabal-version: 1.12
 
--- This file has been generated from package.yaml by hpack version 0.33.0.
+-- This file has been generated from package.yaml by hpack version 0.34.2.
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: bd02ba6d695fef876de62e5d71b3c276a9d2907d07b94ebb624da902c08791fe
+-- hash: 55f37cf3d5ba9e06b928b53e1025ae733e222f62c44e67304b8819d4fe74f383
 
 name:                base-orphans
-version:             0.8.2
+version:             0.8.3
 synopsis:            Backwards-compatible orphan instances for base
-description:         @base-orphans@ defines orphan instances that mimic 
instances available in later versions of @base@ to a wider (older) range of 
compilers. @base-orphans@ does not export anything except the orphan instances 
themselves and complements @<http://hackage.haskell.org/package/base-compat 
base-compat>@.
-                     See the README for what instances are covered: 
<https://github.com/haskell-compat/base-orphans#readme>. See also the 
<https://github.com/haskell-compat/base-orphans#what-is-not-covered what is not 
covered> section.
+description:         @base-orphans@ defines orphan instances that mimic 
instances available in
+                     later versions of @base@ to a wider (older) range of 
compilers.
+                     @base-orphans@ does not export anything except the orphan 
instances
+                     themselves and complements 
@<http://hackage.haskell.org/package/base-compat
+                     base-compat>@.
+                     .
+                     See the README for what instances are covered:
+                     <https://github.com/haskell-compat/base-orphans#readme>.
+                     See also the
+                     
<https://github.com/haskell-compat/base-orphans#what-is-not-covered what is not 
covered>
+                     section.
 category:            Compatibility
 homepage:            https://github.com/haskell-compat/base-orphans#readme
 bug-reports:         https://github.com/haskell-compat/base-orphans/issues
@@ -26,7 +35,7 @@
 license:             MIT
 license-file:        LICENSE
 build-type:          Simple
-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 , GHC == 8.4.4 , 
GHC == 8.6.5 , GHC == 8.8.2 , GHC == 8.10.1
+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 , GHC == 8.4.4 , 
GHC == 8.6.5 , GHC == 8.8.3 , GHC == 8.10.1
 extra-source-files:
     CHANGES.markdown
     README.markdown
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/base-orphans-0.8.2/src/Data/Orphans/Prelude.hs 
new/base-orphans-0.8.3/src/Data/Orphans/Prelude.hs
--- old/base-orphans-0.8.2/src/Data/Orphans/Prelude.hs  2001-09-09 
03:46:40.000000000 +0200
+++ new/base-orphans-0.8.3/src/Data/Orphans/Prelude.hs  2001-09-09 
03:46:40.000000000 +0200
@@ -21,7 +21,7 @@
 Note that this module does not export any modules that could introduce name 
clashes.
 -}
 module Data.Orphans.Prelude
-#if MIN_VERSION_base(4,14,0)
+#if MIN_VERSION_base(4,15,0)
     () where
 #else
     ( module OrphansPrelude
@@ -49,7 +49,6 @@
 import Data.Data as OrphansPrelude (Data(..), Constr, DataType, mkConstr, 
mkDataType)
 import Data.Fixed as OrphansPrelude
 import Data.Int as OrphansPrelude
-import Data.Ix as OrphansPrelude
 import Data.List as OrphansPrelude (genericLength)
 import Data.Monoid as OrphansPrelude
   hiding ( Any(..)
@@ -68,6 +67,7 @@
 import Foreign.Ptr as OrphansPrelude
 import Foreign.Storable as OrphansPrelude
 
+import GHC.Arr as OrphansPrelude (Ix(..))
 import GHC.Base as OrphansPrelude
 import GHC.Conc as OrphansPrelude
 import GHC.Desugar as OrphansPrelude (AnnotationWrapper)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/base-orphans-0.8.2/src/Data/Orphans.hs 
new/base-orphans-0.8.3/src/Data/Orphans.hs
--- old/base-orphans-0.8.2/src/Data/Orphans.hs  2001-09-09 03:46:40.000000000 
+0200
+++ new/base-orphans-0.8.3/src/Data/Orphans.hs  2001-09-09 03:46:40.000000000 
+0200
@@ -80,7 +80,7 @@
 # endif
 #endif
 
-#if !(MIN_VERSION_base(4,14,0))
+#if !(MIN_VERSION_base(4,15,0))
 import           Data.Orphans.Prelude
 #endif
 
@@ -1197,6 +1197,421 @@
 # endif
 #endif
 
+#if !(MIN_VERSION_base(4,15,0))
+instance  (Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6) =>
+      Ix (a1,a2,a3,a4,a5,a6)  where
+    range ((l1,l2,l3,l4,l5,l6),(u1,u2,u3,u4,u5,u6)) =
+      [(i1,i2,i3,i4,i5,i6) | i1 <- range (l1,u1),
+                             i2 <- range (l2,u2),
+                             i3 <- range (l3,u3),
+                             i4 <- range (l4,u4),
+                             i5 <- range (l5,u5),
+                             i6 <- range (l6,u6)]
+
+    unsafeIndex ((l1,l2,l3,l4,l5,l6),(u1,u2,u3,u4,u5,u6)) (i1,i2,i3,i4,i5,i6) =
+      unsafeIndex (l6,u6) i6 + unsafeRangeSize (l6,u6) * (
+      unsafeIndex (l5,u5) i5 + unsafeRangeSize (l5,u5) * (
+      unsafeIndex (l4,u4) i4 + unsafeRangeSize (l4,u4) * (
+      unsafeIndex (l3,u3) i3 + unsafeRangeSize (l3,u3) * (
+      unsafeIndex (l2,u2) i2 + unsafeRangeSize (l2,u2) * (
+      unsafeIndex (l1,u1) i1)))))
+
+    inRange ((l1,l2,l3,l4,l5,l6),(u1,u2,u3,u4,u5,u6)) (i1,i2,i3,i4,i5,i6) =
+      inRange (l1,u1) i1 && inRange (l2,u2) i2 &&
+      inRange (l3,u3) i3 && inRange (l4,u4) i4 &&
+      inRange (l5,u5) i5 && inRange (l6,u6) i6
+
+    -- Default method for index
+
+instance  (Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7) =>
+      Ix (a1,a2,a3,a4,a5,a6,a7)  where
+    range ((l1,l2,l3,l4,l5,l6,l7),(u1,u2,u3,u4,u5,u6,u7)) =
+      [(i1,i2,i3,i4,i5,i6,i7) | i1 <- range (l1,u1),
+                                i2 <- range (l2,u2),
+                                i3 <- range (l3,u3),
+                                i4 <- range (l4,u4),
+                                i5 <- range (l5,u5),
+                                i6 <- range (l6,u6),
+                                i7 <- range (l7,u7)]
+
+    unsafeIndex ((l1,l2,l3,l4,l5,l6,l7),(u1,u2,u3,u4,u5,u6,u7))
+        (i1,i2,i3,i4,i5,i6,i7) =
+      unsafeIndex (l7,u7) i7 + unsafeRangeSize (l7,u7) * (
+      unsafeIndex (l6,u6) i6 + unsafeRangeSize (l6,u6) * (
+      unsafeIndex (l5,u5) i5 + unsafeRangeSize (l5,u5) * (
+      unsafeIndex (l4,u4) i4 + unsafeRangeSize (l4,u4) * (
+      unsafeIndex (l3,u3) i3 + unsafeRangeSize (l3,u3) * (
+      unsafeIndex (l2,u2) i2 + unsafeRangeSize (l2,u2) * (
+      unsafeIndex (l1,u1) i1))))))
+
+    inRange ((l1,l2,l3,l4,l5,l6,l7),(u1,u2,u3,u4,u5,u6,u7))
+        (i1,i2,i3,i4,i5,i6,i7) =
+      inRange (l1,u1) i1 && inRange (l2,u2) i2 &&
+      inRange (l3,u3) i3 && inRange (l4,u4) i4 &&
+      inRange (l5,u5) i5 && inRange (l6,u6) i6 &&
+      inRange (l7,u7) i7
+
+    -- Default method for index
+
+instance  (Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8) =>
+      Ix (a1,a2,a3,a4,a5,a6,a7,a8)  where
+    range ((l1,l2,l3,l4,l5,l6,l7,l8),(u1,u2,u3,u4,u5,u6,u7,u8)) =
+      [(i1,i2,i3,i4,i5,i6,i7,i8) | i1 <- range (l1,u1),
+                                   i2 <- range (l2,u2),
+                                   i3 <- range (l3,u3),
+                                   i4 <- range (l4,u4),
+                                   i5 <- range (l5,u5),
+                                   i6 <- range (l6,u6),
+                                   i7 <- range (l7,u7),
+                                   i8 <- range (l8,u8)]
+
+    unsafeIndex ((l1,l2,l3,l4,l5,l6,l7,l8),(u1,u2,u3,u4,u5,u6,u7,u8))
+        (i1,i2,i3,i4,i5,i6,i7,i8) =
+      unsafeIndex (l8,u8) i8 + unsafeRangeSize (l8,u8) * (
+      unsafeIndex (l7,u7) i7 + unsafeRangeSize (l7,u7) * (
+      unsafeIndex (l6,u6) i6 + unsafeRangeSize (l6,u6) * (
+      unsafeIndex (l5,u5) i5 + unsafeRangeSize (l5,u5) * (
+      unsafeIndex (l4,u4) i4 + unsafeRangeSize (l4,u4) * (
+      unsafeIndex (l3,u3) i3 + unsafeRangeSize (l3,u3) * (
+      unsafeIndex (l2,u2) i2 + unsafeRangeSize (l2,u2) * (
+      unsafeIndex (l1,u1) i1)))))))
+
+    inRange ((l1,l2,l3,l4,l5,l6,l7,l8),(u1,u2,u3,u4,u5,u6,u7,u8))
+        (i1,i2,i3,i4,i5,i6,i7,i8) =
+      inRange (l1,u1) i1 && inRange (l2,u2) i2 &&
+      inRange (l3,u3) i3 && inRange (l4,u4) i4 &&
+      inRange (l5,u5) i5 && inRange (l6,u6) i6 &&
+      inRange (l7,u7) i7 && inRange (l8,u8) i8
+
+    -- Default method for index
+
+instance  (Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9) =>
+      Ix (a1,a2,a3,a4,a5,a6,a7,a8,a9)  where
+    range ((l1,l2,l3,l4,l5,l6,l7,l8,l9),(u1,u2,u3,u4,u5,u6,u7,u8,u9)) =
+      [(i1,i2,i3,i4,i5,i6,i7,i8,i9) | i1 <- range (l1,u1),
+                                      i2 <- range (l2,u2),
+                                      i3 <- range (l3,u3),
+                                      i4 <- range (l4,u4),
+                                      i5 <- range (l5,u5),
+                                      i6 <- range (l6,u6),
+                                      i7 <- range (l7,u7),
+                                      i8 <- range (l8,u8),
+                                      i9 <- range (l9,u9)]
+
+    unsafeIndex ((l1,l2,l3,l4,l5,l6,l7,l8,l9),(u1,u2,u3,u4,u5,u6,u7,u8,u9))
+        (i1,i2,i3,i4,i5,i6,i7,i8,i9) =
+      unsafeIndex (l9,u9) i9 + unsafeRangeSize (l9,u9) * (
+      unsafeIndex (l8,u8) i8 + unsafeRangeSize (l8,u8) * (
+      unsafeIndex (l7,u7) i7 + unsafeRangeSize (l7,u7) * (
+      unsafeIndex (l6,u6) i6 + unsafeRangeSize (l6,u6) * (
+      unsafeIndex (l5,u5) i5 + unsafeRangeSize (l5,u5) * (
+      unsafeIndex (l4,u4) i4 + unsafeRangeSize (l4,u4) * (
+      unsafeIndex (l3,u3) i3 + unsafeRangeSize (l3,u3) * (
+      unsafeIndex (l2,u2) i2 + unsafeRangeSize (l2,u2) * (
+      unsafeIndex (l1,u1) i1))))))))
+
+    inRange ((l1,l2,l3,l4,l5,l6,l7,l8,l9),(u1,u2,u3,u4,u5,u6,u7,u8,u9))
+        (i1,i2,i3,i4,i5,i6,i7,i8,i9) =
+      inRange (l1,u1) i1 && inRange (l2,u2) i2 &&
+      inRange (l3,u3) i3 && inRange (l4,u4) i4 &&
+      inRange (l5,u5) i5 && inRange (l6,u6) i6 &&
+      inRange (l7,u7) i7 && inRange (l8,u8) i8 &&
+      inRange (l9,u9) i9
+
+    -- Default method for index
+
+instance  (Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9,
+           Ix aA) =>
+      Ix (a1,a2,a3,a4,a5,a6,a7,a8,a9,aA)  where
+    range ((l1,l2,l3,l4,l5,l6,l7,l8,l9,lA),(u1,u2,u3,u4,u5,u6,u7,u8,u9,uA)) =
+      [(i1,i2,i3,i4,i5,i6,i7,i8,i9,iA) | i1 <- range (l1,u1),
+                                         i2 <- range (l2,u2),
+                                         i3 <- range (l3,u3),
+                                         i4 <- range (l4,u4),
+                                         i5 <- range (l5,u5),
+                                         i6 <- range (l6,u6),
+                                         i7 <- range (l7,u7),
+                                         i8 <- range (l8,u8),
+                                         i9 <- range (l9,u9),
+                                         iA <- range (lA,uA)]
+
+    unsafeIndex ((l1,l2,l3,l4,l5,l6,l7,l8,l9,lA),
+                 (u1,u2,u3,u4,u5,u6,u7,u8,u9,uA))
+        (i1,i2,i3,i4,i5,i6,i7,i8,i9,iA) =
+      unsafeIndex (lA,uA) iA + unsafeRangeSize (lA,uA) * (
+      unsafeIndex (l9,u9) i9 + unsafeRangeSize (l9,u9) * (
+      unsafeIndex (l8,u8) i8 + unsafeRangeSize (l8,u8) * (
+      unsafeIndex (l7,u7) i7 + unsafeRangeSize (l7,u7) * (
+      unsafeIndex (l6,u6) i6 + unsafeRangeSize (l6,u6) * (
+      unsafeIndex (l5,u5) i5 + unsafeRangeSize (l5,u5) * (
+      unsafeIndex (l4,u4) i4 + unsafeRangeSize (l4,u4) * (
+      unsafeIndex (l3,u3) i3 + unsafeRangeSize (l3,u3) * (
+      unsafeIndex (l2,u2) i2 + unsafeRangeSize (l2,u2) * (
+      unsafeIndex (l1,u1) i1)))))))))
+
+    inRange ((l1,l2,l3,l4,l5,l6,l7,l8,l9,lA),(u1,u2,u3,u4,u5,u6,u7,u8,u9,uA))
+        (i1,i2,i3,i4,i5,i6,i7,i8,i9,iA) =
+      inRange (l1,u1) i1 && inRange (l2,u2) i2 &&
+      inRange (l3,u3) i3 && inRange (l4,u4) i4 &&
+      inRange (l5,u5) i5 && inRange (l6,u6) i6 &&
+      inRange (l7,u7) i7 && inRange (l8,u8) i8 &&
+      inRange (l9,u9) i9 && inRange (lA,uA) iA
+
+    -- Default method for index
+
+instance  (Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9,
+           Ix aA, Ix aB) =>
+      Ix (a1,a2,a3,a4,a5,a6,a7,a8,a9,aA,aB)  where
+    range ((l1,l2,l3,l4,l5,l6,l7,l8,l9,lA,lB),
+           (u1,u2,u3,u4,u5,u6,u7,u8,u9,uA,uB)) =
+      [(i1,i2,i3,i4,i5,i6,i7,i8,i9,iA,iB) | i1 <- range (l1,u1),
+                                            i2 <- range (l2,u2),
+                                            i3 <- range (l3,u3),
+                                            i4 <- range (l4,u4),
+                                            i5 <- range (l5,u5),
+                                            i6 <- range (l6,u6),
+                                            i7 <- range (l7,u7),
+                                            i8 <- range (l8,u8),
+                                            i9 <- range (l9,u9),
+                                            iA <- range (lA,uA),
+                                            iB <- range (lB,uB)]
+
+    unsafeIndex ((l1,l2,l3,l4,l5,l6,l7,l8,l9,lA,lB),
+                 (u1,u2,u3,u4,u5,u6,u7,u8,u9,uA,uB))
+        (i1,i2,i3,i4,i5,i6,i7,i8,i9,iA,iB) =
+      unsafeIndex (lB,uB) iB + unsafeRangeSize (lB,uB) * (
+      unsafeIndex (lA,uA) iA + unsafeRangeSize (lA,uA) * (
+      unsafeIndex (l9,u9) i9 + unsafeRangeSize (l9,u9) * (
+      unsafeIndex (l8,u8) i8 + unsafeRangeSize (l8,u8) * (
+      unsafeIndex (l7,u7) i7 + unsafeRangeSize (l7,u7) * (
+      unsafeIndex (l6,u6) i6 + unsafeRangeSize (l6,u6) * (
+      unsafeIndex (l5,u5) i5 + unsafeRangeSize (l5,u5) * (
+      unsafeIndex (l4,u4) i4 + unsafeRangeSize (l4,u4) * (
+      unsafeIndex (l3,u3) i3 + unsafeRangeSize (l3,u3) * (
+      unsafeIndex (l2,u2) i2 + unsafeRangeSize (l2,u2) * (
+      unsafeIndex (l1,u1) i1))))))))))
+
+    inRange ((l1,l2,l3,l4,l5,l6,l7,l8,l9,lA,lB),
+             (u1,u2,u3,u4,u5,u6,u7,u8,u9,uA,uB))
+        (i1,i2,i3,i4,i5,i6,i7,i8,i9,iA,iB) =
+      inRange (l1,u1) i1 && inRange (l2,u2) i2 &&
+      inRange (l3,u3) i3 && inRange (l4,u4) i4 &&
+      inRange (l5,u5) i5 && inRange (l6,u6) i6 &&
+      inRange (l7,u7) i7 && inRange (l8,u8) i8 &&
+      inRange (l9,u9) i9 && inRange (lA,uA) iA &&
+      inRange (lB,uB) iB
+
+    -- Default method for index
+
+instance  (Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9,
+           Ix aA, Ix aB, Ix aC) =>
+      Ix (a1,a2,a3,a4,a5,a6,a7,a8,a9,aA,aB,aC)  where
+    range ((l1,l2,l3,l4,l5,l6,l7,l8,l9,lA,lB,lC),
+           (u1,u2,u3,u4,u5,u6,u7,u8,u9,uA,uB,uC)) =
+      [(i1,i2,i3,i4,i5,i6,i7,i8,i9,iA,iB,iC) | i1 <- range (l1,u1),
+                                               i2 <- range (l2,u2),
+                                               i3 <- range (l3,u3),
+                                               i4 <- range (l4,u4),
+                                               i5 <- range (l5,u5),
+                                               i6 <- range (l6,u6),
+                                               i7 <- range (l7,u7),
+                                               i8 <- range (l8,u8),
+                                               i9 <- range (l9,u9),
+                                               iA <- range (lA,uA),
+                                               iB <- range (lB,uB),
+                                               iC <- range (lC,uC)]
+
+    unsafeIndex ((l1,l2,l3,l4,l5,l6,l7,l8,l9,lA,lB,lC),
+                 (u1,u2,u3,u4,u5,u6,u7,u8,u9,uA,uB,uC))
+        (i1,i2,i3,i4,i5,i6,i7,i8,i9,iA,iB,iC) =
+      unsafeIndex (lC,uC) iC + unsafeRangeSize (lC,uC) * (
+      unsafeIndex (lB,uB) iB + unsafeRangeSize (lB,uB) * (
+      unsafeIndex (lA,uA) iA + unsafeRangeSize (lA,uA) * (
+      unsafeIndex (l9,u9) i9 + unsafeRangeSize (l9,u9) * (
+      unsafeIndex (l8,u8) i8 + unsafeRangeSize (l8,u8) * (
+      unsafeIndex (l7,u7) i7 + unsafeRangeSize (l7,u7) * (
+      unsafeIndex (l6,u6) i6 + unsafeRangeSize (l6,u6) * (
+      unsafeIndex (l5,u5) i5 + unsafeRangeSize (l5,u5) * (
+      unsafeIndex (l4,u4) i4 + unsafeRangeSize (l4,u4) * (
+      unsafeIndex (l3,u3) i3 + unsafeRangeSize (l3,u3) * (
+      unsafeIndex (l2,u2) i2 + unsafeRangeSize (l2,u2) * (
+      unsafeIndex (l1,u1) i1)))))))))))
+
+    inRange ((l1,l2,l3,l4,l5,l6,l7,l8,l9,lA,lB,lC),
+             (u1,u2,u3,u4,u5,u6,u7,u8,u9,uA,uB,uC))
+        (i1,i2,i3,i4,i5,i6,i7,i8,i9,iA,iB,iC) =
+      inRange (l1,u1) i1 && inRange (l2,u2) i2 &&
+      inRange (l3,u3) i3 && inRange (l4,u4) i4 &&
+      inRange (l5,u5) i5 && inRange (l6,u6) i6 &&
+      inRange (l7,u7) i7 && inRange (l8,u8) i8 &&
+      inRange (l9,u9) i9 && inRange (lA,uA) iA &&
+      inRange (lB,uB) iB && inRange (lC,uC) iC
+
+    -- Default method for index
+
+instance  (Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9,
+           Ix aA, Ix aB, Ix aC, Ix aD) =>
+      Ix (a1,a2,a3,a4,a5,a6,a7,a8,a9,aA,aB,aC,aD)  where
+    range ((l1,l2,l3,l4,l5,l6,l7,l8,l9,lA,lB,lC,lD),
+           (u1,u2,u3,u4,u5,u6,u7,u8,u9,uA,uB,uC,uD)) =
+      [(i1,i2,i3,i4,i5,i6,i7,i8,i9,iA,iB,iC,iD) | i1 <- range (l1,u1),
+                                                  i2 <- range (l2,u2),
+                                                  i3 <- range (l3,u3),
+                                                  i4 <- range (l4,u4),
+                                                  i5 <- range (l5,u5),
+                                                  i6 <- range (l6,u6),
+                                                  i7 <- range (l7,u7),
+                                                  i8 <- range (l8,u8),
+                                                  i9 <- range (l9,u9),
+                                                  iA <- range (lA,uA),
+                                                  iB <- range (lB,uB),
+                                                  iC <- range (lC,uC),
+                                                  iD <- range (lD,uD)]
+
+    unsafeIndex ((l1,l2,l3,l4,l5,l6,l7,l8,l9,lA,lB,lC,lD),
+                 (u1,u2,u3,u4,u5,u6,u7,u8,u9,uA,uB,uC,uD))
+        (i1,i2,i3,i4,i5,i6,i7,i8,i9,iA,iB,iC,iD) =
+      unsafeIndex (lD,uD) iD + unsafeRangeSize (lD,uD) * (
+      unsafeIndex (lC,uC) iC + unsafeRangeSize (lC,uC) * (
+      unsafeIndex (lB,uB) iB + unsafeRangeSize (lB,uB) * (
+      unsafeIndex (lA,uA) iA + unsafeRangeSize (lA,uA) * (
+      unsafeIndex (l9,u9) i9 + unsafeRangeSize (l9,u9) * (
+      unsafeIndex (l8,u8) i8 + unsafeRangeSize (l8,u8) * (
+      unsafeIndex (l7,u7) i7 + unsafeRangeSize (l7,u7) * (
+      unsafeIndex (l6,u6) i6 + unsafeRangeSize (l6,u6) * (
+      unsafeIndex (l5,u5) i5 + unsafeRangeSize (l5,u5) * (
+      unsafeIndex (l4,u4) i4 + unsafeRangeSize (l4,u4) * (
+      unsafeIndex (l3,u3) i3 + unsafeRangeSize (l3,u3) * (
+      unsafeIndex (l2,u2) i2 + unsafeRangeSize (l2,u2) * (
+      unsafeIndex (l1,u1) i1))))))))))))
+
+    inRange ((l1,l2,l3,l4,l5,l6,l7,l8,l9,lA,lB,lC,lD),
+             (u1,u2,u3,u4,u5,u6,u7,u8,u9,uA,uB,uC,uD))
+        (i1,i2,i3,i4,i5,i6,i7,i8,i9,iA,iB,iC,iD) =
+      inRange (l1,u1) i1 && inRange (l2,u2) i2 &&
+      inRange (l3,u3) i3 && inRange (l4,u4) i4 &&
+      inRange (l5,u5) i5 && inRange (l6,u6) i6 &&
+      inRange (l7,u7) i7 && inRange (l8,u8) i8 &&
+      inRange (l9,u9) i9 && inRange (lA,uA) iA &&
+      inRange (lB,uB) iB && inRange (lC,uC) iC &&
+      inRange (lD,uD) iD
+
+    -- Default method for index
+
+instance  (Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9,
+           Ix aA, Ix aB, Ix aC, Ix aD, Ix aE) =>
+      Ix (a1,a2,a3,a4,a5,a6,a7,a8,a9,aA,aB,aC,aD,aE)  where
+    range ((l1,l2,l3,l4,l5,l6,l7,l8,l9,lA,lB,lC,lD,lE),
+           (u1,u2,u3,u4,u5,u6,u7,u8,u9,uA,uB,uC,uD,uE)) =
+      [(i1,i2,i3,i4,i5,i6,i7,i8,i9,iA,iB,iC,iD,iE) | i1 <- range (l1,u1),
+                                                     i2 <- range (l2,u2),
+                                                     i3 <- range (l3,u3),
+                                                     i4 <- range (l4,u4),
+                                                     i5 <- range (l5,u5),
+                                                     i6 <- range (l6,u6),
+                                                     i7 <- range (l7,u7),
+                                                     i8 <- range (l8,u8),
+                                                     i9 <- range (l9,u9),
+                                                     iA <- range (lA,uA),
+                                                     iB <- range (lB,uB),
+                                                     iC <- range (lC,uC),
+                                                     iD <- range (lD,uD),
+                                                     iE <- range (lE,uE)]
+
+    unsafeIndex ((l1,l2,l3,l4,l5,l6,l7,l8,l9,lA,lB,lC,lD,lE),
+                 (u1,u2,u3,u4,u5,u6,u7,u8,u9,uA,uB,uC,uD,uE))
+        (i1,i2,i3,i4,i5,i6,i7,i8,i9,iA,iB,iC,iD,iE) =
+      unsafeIndex (lE,uE) iE + unsafeRangeSize (lE,uE) * (
+      unsafeIndex (lD,uD) iD + unsafeRangeSize (lD,uD) * (
+      unsafeIndex (lC,uC) iC + unsafeRangeSize (lC,uC) * (
+      unsafeIndex (lB,uB) iB + unsafeRangeSize (lB,uB) * (
+      unsafeIndex (lA,uA) iA + unsafeRangeSize (lA,uA) * (
+      unsafeIndex (l9,u9) i9 + unsafeRangeSize (l9,u9) * (
+      unsafeIndex (l8,u8) i8 + unsafeRangeSize (l8,u8) * (
+      unsafeIndex (l7,u7) i7 + unsafeRangeSize (l7,u7) * (
+      unsafeIndex (l6,u6) i6 + unsafeRangeSize (l6,u6) * (
+      unsafeIndex (l5,u5) i5 + unsafeRangeSize (l5,u5) * (
+      unsafeIndex (l4,u4) i4 + unsafeRangeSize (l4,u4) * (
+      unsafeIndex (l3,u3) i3 + unsafeRangeSize (l3,u3) * (
+      unsafeIndex (l2,u2) i2 + unsafeRangeSize (l2,u2) * (
+      unsafeIndex (l1,u1) i1)))))))))))))
+
+    inRange ((l1,l2,l3,l4,l5,l6,l7,l8,l9,lA,lB,lC,lD,lE),
+             (u1,u2,u3,u4,u5,u6,u7,u8,u9,uA,uB,uC,uD,uE))
+        (i1,i2,i3,i4,i5,i6,i7,i8,i9,iA,iB,iC,iD,iE) =
+      inRange (l1,u1) i1 && inRange (l2,u2) i2 &&
+      inRange (l3,u3) i3 && inRange (l4,u4) i4 &&
+      inRange (l5,u5) i5 && inRange (l6,u6) i6 &&
+      inRange (l7,u7) i7 && inRange (l8,u8) i8 &&
+      inRange (l9,u9) i9 && inRange (lA,uA) iA &&
+      inRange (lB,uB) iB && inRange (lC,uC) iC &&
+      inRange (lD,uD) iD && inRange (lE,uE) iE
+
+    -- Default method for index
+
+instance  (Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6, Ix a7, Ix a8, Ix a9,
+           Ix aA, Ix aB, Ix aC, Ix aD, Ix aE, Ix aF) =>
+      Ix (a1,a2,a3,a4,a5,a6,a7,a8,a9,aA,aB,aC,aD,aE,aF)  where
+    range ((l1,l2,l3,l4,l5,l6,l7,l8,l9,lA,lB,lC,lD,lE,lF),
+           (u1,u2,u3,u4,u5,u6,u7,u8,u9,uA,uB,uC,uD,uE,uF)) =
+      [(i1,i2,i3,i4,i5,i6,i7,i8,i9,iA,iB,iC,iD,iE,iF) | i1 <- range (l1,u1),
+                                                        i2 <- range (l2,u2),
+                                                        i3 <- range (l3,u3),
+                                                        i4 <- range (l4,u4),
+                                                        i5 <- range (l5,u5),
+                                                        i6 <- range (l6,u6),
+                                                        i7 <- range (l7,u7),
+                                                        i8 <- range (l8,u8),
+                                                        i9 <- range (l9,u9),
+                                                        iA <- range (lA,uA),
+                                                        iB <- range (lB,uB),
+                                                        iC <- range (lC,uC),
+                                                        iD <- range (lD,uD),
+                                                        iE <- range (lE,uE),
+                                                        iF <- range (lF,uF)]
+
+    unsafeIndex ((l1,l2,l3,l4,l5,l6,l7,l8,l9,lA,lB,lC,lD,lE,lF),
+                 (u1,u2,u3,u4,u5,u6,u7,u8,u9,uA,uB,uC,uD,uE,uF))
+        (i1,i2,i3,i4,i5,i6,i7,i8,i9,iA,iB,iC,iD,iE,iF) =
+      unsafeIndex (lF,uF) iF + unsafeRangeSize (lF,uF) * (
+      unsafeIndex (lE,uE) iE + unsafeRangeSize (lE,uE) * (
+      unsafeIndex (lD,uD) iD + unsafeRangeSize (lD,uD) * (
+      unsafeIndex (lC,uC) iC + unsafeRangeSize (lC,uC) * (
+      unsafeIndex (lB,uB) iB + unsafeRangeSize (lB,uB) * (
+      unsafeIndex (lA,uA) iA + unsafeRangeSize (lA,uA) * (
+      unsafeIndex (l9,u9) i9 + unsafeRangeSize (l9,u9) * (
+      unsafeIndex (l8,u8) i8 + unsafeRangeSize (l8,u8) * (
+      unsafeIndex (l7,u7) i7 + unsafeRangeSize (l7,u7) * (
+      unsafeIndex (l6,u6) i6 + unsafeRangeSize (l6,u6) * (
+      unsafeIndex (l5,u5) i5 + unsafeRangeSize (l5,u5) * (
+      unsafeIndex (l4,u4) i4 + unsafeRangeSize (l4,u4) * (
+      unsafeIndex (l3,u3) i3 + unsafeRangeSize (l3,u3) * (
+      unsafeIndex (l2,u2) i2 + unsafeRangeSize (l2,u2) * (
+      unsafeIndex (l1,u1) i1))))))))))))))
+
+    inRange ((l1,l2,l3,l4,l5,l6,l7,l8,l9,lA,lB,lC,lD,lE,lF),
+             (u1,u2,u3,u4,u5,u6,u7,u8,u9,uA,uB,uC,uD,uE,uF))
+        (i1,i2,i3,i4,i5,i6,i7,i8,i9,iA,iB,iC,iD,iE,iF) =
+      inRange (l1,u1) i1 && inRange (l2,u2) i2 &&
+      inRange (l3,u3) i3 && inRange (l4,u4) i4 &&
+      inRange (l5,u5) i5 && inRange (l6,u6) i6 &&
+      inRange (l7,u7) i7 && inRange (l8,u8) i8 &&
+      inRange (l9,u9) i9 && inRange (lA,uA) iA &&
+      inRange (lB,uB) iB && inRange (lC,uC) iC &&
+      inRange (lD,uD) iD && inRange (lE,uE) iE &&
+      inRange (lF,uF) iF
+
+    -- Default method for index
+
+# if MIN_VERSION_base(4,4,0)
+instance MonadZip Complex where
+  mzipWith = liftA2
+
+instance MonadFix Complex where
+  mfix f = (let a :+ _ = f a in a) :+ (let _ :+ a = f a in a)
+# endif
+#endif
+
 #if __GLASGOW_HASKELL__ < 710
 deriving instance Typeable  All
 deriving instance Typeable  AnnotationWrapper


Reply via email to