| Just to clarify, do we still require identities (1) and (3) 
| below (pasted from the Library report and numbered)?  That 
| is, is range obliged to yield its results in strict index 
| order?  [This rules out Ix instances that do, e.g., blocked 
| iteration unless the array itself is also re-blocked.  
| Reblocking the array itself is arguably a good idea, but may 
| not be what we expect...]
| 
| 1)   range (l,u) !! index (l,u) i == i   -- when i is in range
| 2)   inRange (l,u) i == i `elem` range (l,u)
| 3)   map index (range (l,u))      == [0..rangeSize (l,u)]

I was not proposing to remove these identities.   Should I?

Simon

_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to