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

Reply via email to