[commit: bytestring] master: port additional work on bytestring builder (c183358)
Ian Lynagh
igloo at earth.li
Wed Feb 22 21:58:24 CET 2012
Repository : ssh://darcs.haskell.org//srv/darcs/packages/bytestring
On branch : master
http://hackage.haskell.org/trac/ghc/changeset/c183358e96cb4b3178444aa4b5d92f360fd4aa89
>---------------------------------------------------------------
commit c183358e96cb4b3178444aa4b5d92f360fd4aa89
Author: Simon Meier <iridcode at gmail.com>
Date: Sun Nov 13 23:01:54 2011 +0000
port additional work on bytestring builder
This patch adds the remainder of the work I performed on the old bytestring
repository. It adds the following changes:
- Faster implementation of Float and Double serialization. We exploit that
there is already a buffer that we can use to convert the Float to a Word32
via the FFI.
- Renaming of 'charASCII' and 'stringASCII' to 'char7' and 'string7':
The new names are easier to use (as they are shorter) and follow the
same convention as the 'char8' versions.
- Move of variable length encodings and the chunked and size-prefixed
builder transformers into a separate module:
Data/ByteString/Lazy/Builder/BasicEncoding/Extras.hs
The remainder of Data/ByteString/Lazy/Builder/BasicEncoding
is now well-documentet and its API is considered stable.
- Bugfixes to the size-prefixing builder transformer and a test case that
caught the original bug.
- The modules
Data.ByteString.Lazy.Builder.Internal
Data.ByteString.Lazy.Builder.BasicEncoding
Data.ByteString.Lazy.Builder.BasicEncoding.Internal
Data.ByteString.Lazy.Builder.BasicEncoding.Extras
are now also exposed, but only
Data.ByteString.Lazy.Builder.BasicEncoding
is haddocked. They are required to provide transitional packages of
blaze-html, blaze-builder, and blaze-enumerator based on the new
bytestring builder.
Data/ByteString/Lazy/Builder.hs | 62 ++-
Data/ByteString/Lazy/Builder/ASCII.hs | 29 +-
Data/ByteString/Lazy/Builder/BasicEncoding.hs | 658 +++++--------------
.../ByteString/Lazy/Builder/BasicEncoding/ASCII.hs | 21 +-
.../Lazy/Builder/BasicEncoding/Binary.hs | 203 +------
.../{BasicEncoding.hs => BasicEncoding/Extras.hs} | 623 ++++++-------------
.../Lazy/Builder/BasicEncoding/Internal.hs | 14 +-
.../Lazy/Builder/BasicEncoding/Internal/Base16.hs | 2 +-
.../Builder/BasicEncoding/Internal/Floating.hs | 85 ++--
.../BasicEncoding/Internal/UncheckedShifts.hs | 5 +-
Data/ByteString/Lazy/Builder/Extras.hs | 3 +-
Data/ByteString/Lazy/Builder/Internal.hs | 6 +-
bench/BenchAll.hs | 2 +-
bytestring.cabal | 8 +-
.../Lazy/Builder/BasicEncoding/TestUtils.hs | 9 +-
.../ByteString/Lazy/Builder/BasicEncoding/Tests.hs | 4 +-
.../builder/Data/ByteString/Lazy/Builder/Tests.hs | 33 +-
17 files changed, 524 insertions(+), 1243 deletions(-)
Diff suppressed because of size. To see it, use:
git show c183358e96cb4b3178444aa4b5d92f360fd4aa89
More information about the Cvs-libraries
mailing list