interface Data.Array where { infixl 9 Array.//; infixl 9 Array.!; {-# NEED #-} instance Prelude.Monad NHC.Internal.IO; {-# NEED #-} instance (Prelude.Integral a) => Prelude.Fractional (Ratio.Ratio a); {-# NEED #-} instance (Prelude.Integral a) => Prelude.RealFrac (Ratio.Ratio a); {-# NEED #-} instance (Prelude.Integral a) => Prelude.Num (Ratio.Ratio a); {-# NEED #-} instance (Prelude.Integral a) => Prelude.Real (Ratio.Ratio a); {-# NEED #-} instance (Prelude.Integral a) => Prelude.Enum (Ratio.Ratio a); {-# NEED #-} instance Data.Typeable.Typeable2 Prelude.Either; {-# NEED #-} instance Data.Typeable.Typeable2 ( (->) a); {-# NEED #-} instance Data.Typeable.Typeable2 Array.Array; {-# NEED #-} instance Data.Typeable.Typeable1 Prelude.Maybe; {-# NEED #-} instance (Data.Typeable.Typeable a) => Data.Typeable.Typeable1 (Prelude.Either a); {-# NEED #-} instance Data.Typeable.Typeable1 Prelude.[]; {-# NEED #-} instance Data.Typeable.Typeable1 NHC.Internal.IO; {-# NEED #-} instance Data.Typeable.Typeable1 Ratio.Ratio; {-# NEED #-} instance (Data.Typeable.Typeable a) => Data.Typeable.Typeable1 ( (->) a); {-# NEED #-} instance (Data.Typeable.Typeable a) => Data.Typeable.Typeable1 (Array.Array a); {-# NEED #-} instance (Data.Typeable.Typeable a) => Data.Typeable.Typeable (Prelude.Maybe a); {-# NEED #-} instance Data.Typeable.Typeable Prelude.Float; {-# NEED #-} instance Data.Typeable.Typeable Prelude.Double; {-# NEED #-} instance (Data.Typeable.Typeable a,Data.Typeable.Typeable b) => Data.Typeable.Typeable (Prelude.Either a b); {-# NEED #-} instance Data.Typeable.Typeable (); {-# NEED #-} instance (Data.Typeable.Typeable a) => Data.Typeable.Typeable [a]; {-# NEED #-} instance Data.Typeable.Typeable Prelude.Int; {-# NEED #-} instance Data.Typeable.Typeable Prelude.Bool; {-# NEED #-} instance Data.Typeable.Typeable Prelude.Integer; {-# NEED #-} instance Data.Typeable.Typeable Prelude.Char; {-# NEED #-} instance Data.Typeable.Typeable Prelude.Ordering; {-# NEED #-} instance (Data.Typeable.Typeable a) => Data.Typeable.Typeable (NHC.Internal.IO a); {-# NEED #-} instance (Data.Typeable.Typeable a) => Data.Typeable.Typeable (Ratio.Ratio a); {-# NEED #-} instance Data.Typeable.Typeable Data.Typeable.TypeRep; {-# NEED #-} instance (Data.Typeable.Typeable a,Data.Typeable.Typeable b) => Data.Typeable.Typeable (a -> b); {-# NEED #-} instance (Data.Typeable.Typeable a,Data.Typeable.Typeable b) => Data.Typeable.Typeable (Array.Array a b); {-# NEED #-} instance Prelude.Functor NHC.Internal.IO; {-# NEED #-} instance (Ix.Ix a) => Prelude.Functor (Array.Array a); {-# NEED #-} instance (Prelude.Read a,Prelude.Integral a) => Prelude.Read (Ratio.Ratio a); {-# NEED #-} instance (Ix.Ix a,Prelude.Read a,Prelude.Read b) => Prelude.Read (Array.Array a b); {-# NEED #-} instance (Prelude.Integral a) => Prelude.Eq (Ratio.Ratio a); {-# NEED #-} instance Prelude.Eq Data.Typeable.TypeRep; {-# NEED #-} instance (Ix.Ix a,Prelude.Eq b) => Prelude.Eq (Array.Array a b); {-# NEED #-} instance (Prelude.Integral a) => Prelude.Ord (Ratio.Ratio a); {-# NEED #-} instance (Ix.Ix a,Prelude.Ord b) => Prelude.Ord (Array.Array a b); {-# NEED #-} instance (Prelude.Show a) => Prelude.Show (NHC.Internal.IO a); {-# NEED #-} instance (Prelude.Integral a) => Prelude.Show (Ratio.Ratio a); {-# NEED #-} instance Prelude.Show Data.Typeable.TypeRep; {-# NEED #-} instance (Ix.Ix a,Prelude.Show a,Prelude.Show b) => Prelude.Show (Array.Array a b); {-# NEED #-} instance (Ix.Ix a,Ix.Ix b,Ix.Ix c,Ix.Ix d,Ix.Ix e,Ix.Ix f,Ix.Ix g,Ix.Ix h,Ix.Ix i,Ix.Ix j,Ix.Ix k,Ix.Ix l,Ix.Ix m,Ix.Ix n,Ix.Ix o) => Ix.Ix (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o); {-# NEED #-} instance (Ix.Ix a,Ix.Ix b,Ix.Ix c,Ix.Ix d,Ix.Ix e,Ix.Ix f,Ix.Ix g,Ix.Ix h,Ix.Ix i,Ix.Ix j,Ix.Ix k,Ix.Ix l,Ix.Ix m) => Ix.Ix (a,b,c,d,e,f,g,h,i,j,k,l,m); {-# NEED #-} instance (Ix.Ix a,Ix.Ix b,Ix.Ix c,Ix.Ix d,Ix.Ix e,Ix.Ix f,Ix.Ix g,Ix.Ix h,Ix.Ix i,Ix.Ix j,Ix.Ix k,Ix.Ix l) => Ix.Ix (a,b,c,d,e,f,g,h,i,j,k,l); {-# NEED #-} instance (Ix.Ix a,Ix.Ix b,Ix.Ix c,Ix.Ix d,Ix.Ix e,Ix.Ix f,Ix.Ix g,Ix.Ix h,Ix.Ix i,Ix.Ix j,Ix.Ix k) => Ix.Ix (a,b,c,d,e,f,g,h,i,j,k); {-# NEED #-} instance (Ix.Ix a,Ix.Ix b,Ix.Ix c,Ix.Ix d,Ix.Ix e,Ix.Ix f,Ix.Ix g,Ix.Ix h,Ix.Ix i,Ix.Ix j) => Ix.Ix (a,b,c,d,e,f,g,h,i,j); {-# NEED #-} instance (Ix.Ix a,Ix.Ix b,Ix.Ix c,Ix.Ix d,Ix.Ix e,Ix.Ix f,Ix.Ix g,Ix.Ix h,Ix.Ix i) => Ix.Ix (a,b,c,d,e,f,g,h,i); {-# NEED #-} instance (Ix.Ix a,Ix.Ix b,Ix.Ix c,Ix.Ix d,Ix.Ix e,Ix.Ix f,Ix.Ix g,Ix.Ix h) => Ix.Ix (a,b,c,d,e,f,g,h); {-# NEED #-} instance (Ix.Ix a,Ix.Ix b,Ix.Ix c,Ix.Ix d,Ix.Ix e,Ix.Ix f,Ix.Ix g) => Ix.Ix (a,b,c,d,e,f,g); {-# NEED #-} instance (Ix.Ix a,Ix.Ix b,Ix.Ix c,Ix.Ix d,Ix.Ix e,Ix.Ix f) => Ix.Ix (a,b,c,d,e,f); {-# NEED #-} instance (Ix.Ix a,Ix.Ix b,Ix.Ix c,Ix.Ix d,Ix.Ix e) => Ix.Ix (a,b,c,d,e); {-# NEED #-} instance (Ix.Ix a,Ix.Ix b,Ix.Ix c,Ix.Ix d) => Ix.Ix (a,b,c,d); {-# NEED #-} instance (Ix.Ix a,Ix.Ix b,Ix.Ix c) => Ix.Ix (a,b,c); {-# NEED #-} instance (Ix.Ix a,Ix.Ix b) => Ix.Ix (a,b); {-# NEED #-} instance Ix.Ix Prelude.Int; {-# NEED #-} instance Ix.Ix Prelude.Bool; {-# NEED #-} instance Ix.Ix Prelude.Integer; {-# NEED #-} instance Ix.Ix Prelude.Char; {-# NEED #-} instance Ix.Ix Prelude.Ordering; interface Data.Typeable {-# NEED Typeable #-} class Typeable a; interface NHC.Internal {-# NEED IO #-} newtype {-# #-} IO a; {-# NEED World #-} data World; interface Ratio {-# NEED Ratio #-} data (Prelude.Integral a) => Ratio a; interface Data.Typeable {-# NEED TypeRep #-} data TypeRep; interface ! Array {-# NEED (//) #-} (//){-# 2 #-}::(Ix.Ix a) => ((Array.Array a b) -> ([(a,b)] -> (Array.Array a b))); {-# NEED accum #-} accum{-# 1 #-}::(Ix.Ix c) => ((a -> (b -> a)) -> ((Array.Array c a) -> ([(c,b)] -> (Array.Array c a)))); {-# NEED array #-} array{-# 2 #-}::(Ix.Ix a) => ((a,a) -> ([(a,b)] -> (Array.Array a b))); {-# NEED ixmap #-} ixmap{-# 3 #-}::(Ix.Ix a,Ix.Ix b) => ((a,a) -> ((a -> b) -> ((Array.Array b c) -> (Array.Array a c)))); {-# NEED assocs #-} assocs{-# 1 #-}::(Ix.Ix a) => ((Array.Array a b) -> [(a,b)]); {-# NEED bounds #-} bounds{-# 1 #-}::(Ix.Ix a) => ((Array.Array a b) -> (a,a)); {-# NEED indices #-} indices{-# 0 #-}::(Ix.Ix a) => ((Array.Array a b) -> [a]); {-# NEED elems #-} elems{-# 1 #-}::(Ix.Ix a) => ((Array.Array a b) -> [b]); {-# NEED (!) #-} (!){-# 2 #-}::(Ix.Ix a) => ((Array.Array a b) -> (a -> b)); {-# NEED accumArray #-} accumArray{-# 3 #-}::(Ix.Ix c) => ((a -> (b -> a)) -> (a -> ((c,c) -> ([(c,b)] -> (Array.Array c a))))); {-# NEED listArray #-} listArray{-# 2 #-}::(Ix.Ix a) => ((a,a) -> ([b] -> (Array.Array a b))); {-# NEED Array #-} data (Ix.Ix a) => Array a b; interface ! Ix {-# NEED {Ix range index inRange rangeSize} #-} class (Prelude.Ord a) => Ix a where { range{-# 1 #-}::((a,a) -> [a]); index{-# 2 #-}::((a,a) -> (a -> Prelude.Int)); inRange{-# 2 #-}::((a,a) -> (a -> Prelude.Bool)); rangeSize{-# 1 #-}::((a,a) -> Prelude.Int); }; }