Tue May 9 21:33:09 PDT 2006 Don Stewart <[EMAIL PROTECTED]>
* Some small optimisations, generalise the type of unfold
Tue May 9 22:36:29 EST 2006 Duncan Coutts <[EMAIL PROTECTED]>
* Surely the error function should not be inlined.
Tue May 9 22:35:53 EST 2006 Duncan Coutts <[EMAIL PROTECTED]>
* Reorder memory writes for better cache locality.
Tue May 9 23:28:09 EST 2006 Duncan Coutts <[EMAIL PROTECTED]>
* Generalise the type of unfoldrN
The type of unfoldrN was overly constrained:
unfoldrN :: Int -> (Word8 -> Maybe (Word8, Word8)) -> Word8 ->
ByteString
if we compare that to unfoldr:
unfoldr :: (b -> Maybe (a, b)) -> b -> [a]
So we can generalise unfoldrN to this type:
unfoldrN :: Int -> (a -> Maybe (Word8, a)) -> a -> ByteString
and something similar for the .Char8 version. If people really do want
to
use it a lot with Word8/Char then perhaps we should add a specialise
pragma.
Wed May 10 13:26:40 EST 2006 Don Stewart <[EMAIL PROTECTED]>
* Add foldl', and thus a fusion rule for length . {map,filter,fold},
that avoids creating an array at all if the end of the pipeline is a
'length' reduction
**END OF DESCRIPTION***
Place the long patch description above the ***END OF DESCRIPTION*** marker.
The first line of this file will be the patch name.
This patch contains the following changes:
M ./Data/ByteString.hs -8 +38
M ./Data/ByteString/Char8.hs -6 +12
M ./Data/ByteString.hs -8 +38
M ./Data/ByteString/Char8.hs -6 +12
_______________________________________________
Cvs-libraries mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-libraries