
On Tue, May 24, 2005 at 11:23:40AM +0100, Malcolm Wallace wrote:
Is Sequence intended to be a symmetric structure, or is it intended to be left-biased? The constructors seem to go for symmetry, but many of the other operations are left-biased. For instance:
index adjust update take drop splitAt
all count from the left end of the Sequence. Wouldn't it be useful to have the equivalent right-biased operations too?
indexL indexR adjustL adjustR updateL updateR takeL takeR dropL dropR splitAtL splitAtR
Fair point. They wouldn't cost much, and the structure should be symmetrical.
Also, there was debate at the time of the Haskell'98 committee about whether the list operations with an Int argument would be better taking an Integer. I believe the consensus was positive towards unbounded Integer, but it was important for the standard to be backwards compatible, so Int remained. However, with a new library, you have the opportunity to get it right from the start.
Perhaps Integral, like List.generic*, would be a good idea. The structure uses Ints internally, though.