base-orphans 0.8.2 → 0.8.3
raw patch · 5 files changed
+441/−9 lines, 5 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Data.Orphans: instance (GHC.Arr.Ix a1, GHC.Arr.Ix a2, GHC.Arr.Ix a3, GHC.Arr.Ix a4, GHC.Arr.Ix a5, GHC.Arr.Ix a6) => GHC.Arr.Ix (a1, a2, a3, a4, a5, a6)
+ Data.Orphans: instance (GHC.Arr.Ix a1, GHC.Arr.Ix a2, GHC.Arr.Ix a3, GHC.Arr.Ix a4, GHC.Arr.Ix a5, GHC.Arr.Ix a6, GHC.Arr.Ix a7) => GHC.Arr.Ix (a1, a2, a3, a4, a5, a6, a7)
+ Data.Orphans: instance (GHC.Arr.Ix a1, GHC.Arr.Ix a2, GHC.Arr.Ix a3, GHC.Arr.Ix a4, GHC.Arr.Ix a5, GHC.Arr.Ix a6, GHC.Arr.Ix a7, GHC.Arr.Ix a8) => GHC.Arr.Ix (a1, a2, a3, a4, a5, a6, a7, a8)
+ Data.Orphans: instance (GHC.Arr.Ix a1, GHC.Arr.Ix a2, GHC.Arr.Ix a3, GHC.Arr.Ix a4, GHC.Arr.Ix a5, GHC.Arr.Ix a6, GHC.Arr.Ix a7, GHC.Arr.Ix a8, GHC.Arr.Ix a9) => GHC.Arr.Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9)
+ Data.Orphans: instance (GHC.Arr.Ix a1, GHC.Arr.Ix a2, GHC.Arr.Ix a3, GHC.Arr.Ix a4, GHC.Arr.Ix a5, GHC.Arr.Ix a6, GHC.Arr.Ix a7, GHC.Arr.Ix a8, GHC.Arr.Ix a9, GHC.Arr.Ix aA) => GHC.Arr.Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA)
+ Data.Orphans: instance (GHC.Arr.Ix a1, GHC.Arr.Ix a2, GHC.Arr.Ix a3, GHC.Arr.Ix a4, GHC.Arr.Ix a5, GHC.Arr.Ix a6, GHC.Arr.Ix a7, GHC.Arr.Ix a8, GHC.Arr.Ix a9, GHC.Arr.Ix aA, GHC.Arr.Ix aB) => GHC.Arr.Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB)
+ Data.Orphans: instance (GHC.Arr.Ix a1, GHC.Arr.Ix a2, GHC.Arr.Ix a3, GHC.Arr.Ix a4, GHC.Arr.Ix a5, GHC.Arr.Ix a6, GHC.Arr.Ix a7, GHC.Arr.Ix a8, GHC.Arr.Ix a9, GHC.Arr.Ix aA, GHC.Arr.Ix aB, GHC.Arr.Ix aC) => GHC.Arr.Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC)
+ Data.Orphans: instance (GHC.Arr.Ix a1, GHC.Arr.Ix a2, GHC.Arr.Ix a3, GHC.Arr.Ix a4, GHC.Arr.Ix a5, GHC.Arr.Ix a6, GHC.Arr.Ix a7, GHC.Arr.Ix a8, GHC.Arr.Ix a9, GHC.Arr.Ix aA, GHC.Arr.Ix aB, GHC.Arr.Ix aC, GHC.Arr.Ix aD) => GHC.Arr.Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD)
+ Data.Orphans: instance (GHC.Arr.Ix a1, GHC.Arr.Ix a2, GHC.Arr.Ix a3, GHC.Arr.Ix a4, GHC.Arr.Ix a5, GHC.Arr.Ix a6, GHC.Arr.Ix a7, GHC.Arr.Ix a8, GHC.Arr.Ix a9, GHC.Arr.Ix aA, GHC.Arr.Ix aB, GHC.Arr.Ix aC, GHC.Arr.Ix aD, GHC.Arr.Ix aE) => GHC.Arr.Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE)
+ Data.Orphans: instance (GHC.Arr.Ix a1, GHC.Arr.Ix a2, GHC.Arr.Ix a3, GHC.Arr.Ix a4, GHC.Arr.Ix a5, GHC.Arr.Ix a6, GHC.Arr.Ix a7, GHC.Arr.Ix a8, GHC.Arr.Ix a9, GHC.Arr.Ix aA, GHC.Arr.Ix aB, GHC.Arr.Ix aC, GHC.Arr.Ix aD, GHC.Arr.Ix aE, GHC.Arr.Ix aF) => GHC.Arr.Ix (a1, a2, a3, a4, a5, a6, a7, a8, a9, aA, aB, aC, aD, aE, aF)
+ Data.Orphans: instance Control.Monad.Fix.MonadFix Data.Complex.Complex
+ Data.Orphans: instance Control.Monad.Zip.MonadZip Data.Complex.Complex
Files
- CHANGES.markdown +5/−0
- README.markdown +3/−0
- base-orphans.cabal +15/−6
- src/Data/Orphans.hs +416/−1
- src/Data/Orphans/Prelude.hs +2/−2
CHANGES.markdown view
@@ -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`,
README.markdown view
@@ -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.*`
base-orphans.cabal view
@@ -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
src/Data/Orphans.hs view
@@ -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 @@ -1194,6 +1194,421 @@ case testEquality x y of -- :: Maybe (g x :~: g y) Just Refl -> Just Refl -- :: Maybe (x :~: y) Nothing -> Nothing+# 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
src/Data/Orphans/Prelude.hs view
@@ -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)