While we're on the topic, I have a couple of problems with the current array system that cut deeper than the naming:

    * The function for getting the bounds of an MArray is pure, so the
      interface can't accommodate resizable arrays.

    * unsafeAt, unsafeRead and unsafeWrite take 0-based indices, and the
      bounds checking and conversion is handled externally, based on the
      bounds you return. This means the interfaces can't support array
      windowing, at least in the multidimensional case. I'd be happy with
      windowing for one-dimensional arrays only, but there's no way to
      restrict your array type to one-dimensional index types.

-- Ben

_______________________________________________
Haskell-prime mailing list
[email protected]
http://haskell.org/mailman/listinfo/haskell-prime

Reply via email to