Sync with FPS head, including the following patches:
Thu May 18 15:45:46 EST 2006 sjanssen@cse.unl.edu
* Export unsafeTake and unsafeDrop
Fri May 19 11:53:08 EST 2006 Don Stewart <dons@cse.unsw.edu.au>
* Add foldl1'
Fri May 19 13:41:24 EST 2006 Don Stewart <dons@cse.unsw.edu.au>
* Add fuseable scanl, scanl1 + properties
Fri May 19 18:20:40 EST 2006 Don Stewart <dons@cse.unsw.edu.au>
* Spotted another chance to use unsafeTake,Drop (in groupBy)
Thu May 18 09:24:25 EST 2006 Duncan Coutts <duncan.coutts@worc.ox.ac.uk>
* More effecient findIndexOrEnd based on the impl of findIndex
Thu May 18 09:22:49 EST 2006 Duncan Coutts <duncan.coutts@worc.ox.ac.uk>
* Eliminate special case in findIndex since it's handled anyway.
Thu May 18 09:19:08 EST 2006 Duncan Coutts <duncan.coutts@worc.ox.ac.uk>
* Add unsafeTake and unsafeDrop
These versions assume the n is in the bounds of the bytestring, saving
two comparison tests. Then use them in varous places where we think this
holds. These cases need double checking (and there are a few remaining
internal uses of take / drop that might be possible to convert).
Not exported for the moment.
Tue May 16 23:15:11 EST 2006 Don Stewart <dons@cse.unsw.edu.au>
* Handle n < 0 in drop and splitAt. Spotted by QC.
Tue May 16 22:46:22 EST 2006 Don Stewart <dons@cse.unsw.edu.au>
* Handle n <= 0 cases for unfoldr and replicate. Spotted by QC
Tue May 16 21:34:11 EST 2006 Don Stewart <dons@cse.unsw.edu.au>
* mapF -> map', filterF -> filter'