Proposal: Make arrays safer
Ian Lynagh
igloo at earth.li
Fri Aug 10 11:05:51 EDT 2007
Hi all,
Proposal: http://hackage.haskell.org/trac/ghc/ticket/1610
This is a proposal to make arrays safer, e.g. see:
http://hackage.haskell.org/trac/ghc/ticket/1046
This is a divergence from Haskell 98.
The patches:
* 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
* Use the new functions in various places
Suggested deadline: 24 Aug 2007.
Thanks
Ian
More information about the Libraries
mailing list