Fri Aug 10 09:33:57 PDT 2007 Ian Lynagh <[EMAIL PROTECTED]>
* Make arrays safer (e.g. trac #1046)
This is a divergence from Haskell 98.
* Add (numElements :: Ix i => a i e -> Int) to IArray class
* Array types get an extra field for numElements, e.g.
{{{
-data UArray i e = UArray !i !i ByteArray#
+data UArray i e = UArray !i !i !Int ByteArray#
}}}
This is a cache of rangeSize(l,u)
* Add safeRangeSize (always returns >= 0)
* Add safeIndex (use unsafeIndex (no Ix inRange check),
but check index < numElements)
* unsafeForeignPtrToStorableArray gained an (Ix i) context
M ./Data/Array/Base.hs -226 +323
M ./Data/Array/Diff.hs +26
M ./Data/Array/IO.hs -4 +4
M ./Data/Array/IO/Internals.hs +37
M ./Data/Array/Storable.hs -13 +16
_______________________________________________
Cvs-libraries mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-libraries