-
Simon Marlow authored
Changes to the Ix class from the revised Haskell 98 report: - Ord is no longer a superclass of Ix. - rangeSize is now a class member, as there are cases when it is useful to be able to override it. As a result, GHC's performance-improving "unsafeRangeSize" function also has to be a class method just in case the programmer has overriden rangeSize. Of course, unsafeRangeSize isn't visible when just importing Ix. - Added unsafeRangeSize bindings to all our standard Ix instances. - Improved the Ix instances for Int{8,16,32,64} and Word{8,16,32,64} by defining unsafeIndex instead of index, and providing a definition of unsafeRangeSize. I hope I haven't mucked anything up :) The array tests all pass successfully, except for arr016 which depended on Ord being a superclass of Ix. I'll commit changes to this test shortly.
ed69dbe9