New patches in /srv/darcs/git-mirrors/bytestring
commit a1ac70364a80d1423a83ee6f4d9422f2fd393b59
Author: Duncan Coutts <[email protected]>
Date: Thu Nov 17 01:11:28 2011 +0000
Allow using older versions of the random package
commit e14c4a70cfe8d206b34dd0fefdc70646e7a2f326
Author: Duncan Coutts <[email protected]>
Date: Thu Nov 17 00:59:28 2011 +0000
Fix some more import warnings
commit b3ff993e8dbf6f68dbd21f1d1e6cabdd637d0737
Author: Duncan Coutts <[email protected]>
Date: Thu Nov 17 00:58:26 2011 +0000
Fix an issue with char/binary Handle write ordering with ghc-6.12
For 6.12 it needs an extra flushWriteBuffer.
commit bc4498cb716c47e1ea80a96c469ca42b52d85f52
Author: Duncan Coutts <[email protected]>
Date: Wed Nov 16 23:31:04 2011 +0000
Fixes for ghc-6.10
commit 023e95ff9dac7d0ac30b6e8c8d8d2cff744b366f
Author: Duncan Coutts <[email protected]>
Date: Wed Nov 16 23:29:20 2011 +0000
Make the testHandlePutBuilder conditional and add char8 version
The testHandlePutBuilder does not apply to older ghc with the pre-Unicode
Handles. Extra char8 test covers old ghc and should work with new too.
commit 193a6248f6a30f3fc6e6a4ed54633c2cede3d4dd
Author: Duncan Coutts <[email protected]>
Date: Wed Nov 16 23:27:29 2011 +0000
Add implementation of builder internal hPut for old or non-ghc Handle
The current hPut is specific to newer GHC with the new Unicode Handle
stuff. Provide an implementation for older ghc and non-ghc compilers.
commit 689fad89d9bc848401afd4f1ae0ab48fb92d8475
Author: Duncan Coutts <[email protected]>
Date: Wed Nov 16 22:08:37 2011 +0000
Fix building with ghc-7.3 and hopefully 7.4.x also
Based on a patch contributed by Herbert Valerio Riedel.
Also fixes warnings for ghc-7.2.
commit f83f261525e4cb0cf543113bf940cdc01675b63e
Author: Duncan Coutts <[email protected]>
Date: Wed Nov 16 20:45:47 2011 +0000
Do not expose the BasicEncoding and other internals for this release
We are being conservative here. There is useful functionality that we
will want to expose somehow eventually, including the fixed and bounded
size encodings for maximum speed of short encodings, plus the ability
to do things like size-prefixed runs of data. However we will give
ourselves some time to let this stuff settle down and a bit longer to
think about the best way to support the more advanced & low-level bits.
commit c183358e96cb4b3178444aa4b5d92f360fd4aa89
Author: Simon Meier <[email protected]>
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.
commit aae4b9450aa67b28bcac32291d281ccfc112d084
Author: Duncan Coutts <[email protected]>
Date: Tue Nov 15 00:52:03 2011 +0000
Fix a few test failures due to incorrect Int64 -> Int conversion
Switch it around so we only promote Int -> Int64.
commit 4bd35121e7ebea7f8df770902027f2ae7ccb4cf8
Author: Duncan Coutts <[email protected]>
Date: Sun Nov 13 20:37:41 2011 +0000
Add Simon's builder benchmark suite and add to .cabal file
Makes use of cabal's new support for benchmarks
commit 992a9433e3047b4eed17021f6b42fe2cb5370cb8
Author: Duncan Coutts <[email protected]>
Date: Sun Nov 13 20:33:49 2011 +0000
Add missing extension
commit 8018361f477e22a1fe8bb1876a4a3dfc7f5a74b7
Author: Duncan Coutts <[email protected]>
Date: Sun Nov 13 17:51:55 2011 +0000
Convert existing main test suite over to the minimal TestFramework code
This will make it easier to switch to the test-framework package later.
commit 43777ce751ea8de4e5fb193409837a891d76bb1d
Author: Duncan Coutts <[email protected]>
Date: Sun Nov 13 17:48:05 2011 +0000
Make the builder test suite into a cabal test-suite
The advantage is it makes it easier to run automatically.
The disadvantage is we cannot use the nice test-framework package since
cabal then thinks we've got a circular dependency since test-framework
indirectly depends on bytestring. This will be solvable in future with
encapsulated package dependencies, but util then we use a minimal
implementation of the bit of the test-framework that we're using.
commit fccdb9b651cce983b8fa4ef40e23f1fb672a9d27
Author: Duncan Coutts <[email protected]>
Date: Sun Nov 13 16:30:22 2011 +0000
Add the test suite for the builder monoid
Again, this is Simon Meier's code
commit 1a86963f321017c93c4366949b799a2dfcd1190e
Author: Duncan Coutts <[email protected]>
Date: Sun Nov 13 16:26:12 2011 +0000
Update docs for chunk size constants
commit 79c0e4bd83266de99a8e3e453c7a3b22d1a1599d
Author: Duncan Coutts <[email protected]>
Date: Sun Nov 13 16:25:09 2011 +0000
Add new Builder monoid by Simon Meier
The design of strict and lazy ByteStrings makes concatenation expensive.
A builder monoid lets us efficiently build bytestrings by sticking bits
together in an ad-hoc way. For example by pretty-printing or
serialising. This is as opposed to a uniform approach using unfoldr.
This is the result of a lot of work over several years by several
people. This new version is by Simon Meier. It was based on the version
by Jasper Van der Jeugt for the blaze-html library. The idea goes back
further to the builder monoid in the binary library by Lennart Kolmodin
and Ross Patterson. That was based on a builder monad by myself.
The trick in all these designs is a continuation style monad/monoid for
combining builders, and writing directly into buffers. The continuation
trick allows it to be done in a non-persistent way, which in turn makes
possible to just write directly into buffers.
Simon and Jasper's implementation follows the same general approach at
the previous designs but achieves better performance by paying careful
attention to low level details like buffer filling strategies and
minimising the number of buffer bounds checks.
commit 51dd02bd37a0df53636fbc6a8ed0bfda2f3531e5
Author: Duncan Coutts <[email protected]>
Date: Mon Nov 7 12:44:59 2011 +0000
Added tests for toStrict and fromStrict
commit 86e6a75892afc22ef8e37d9badf20d6ea1b36295
Author: Duncan Coutts <[email protected]>
Date: Mon Nov 7 12:43:58 2011 +0000
Also export foldrChunks and foldlChunks
Along with fromStrict and toStrict we now match the Text API in this area.
commit dabb1a2fbd2e9c8e79d14ae280bc0d681582afbd
Author: Duncan Coutts <[email protected]>
Date: Mon Nov 7 12:43:52 2011 +0000
Add conversion functions between lazy and (single) strict ByteStrings
API proposal and initial patch by Herbert Valerio Riedel <[email protected]>
http://article.gmane.org/gmane.comp.lang.haskell.libraries/16444
More or less unanimous support.
Don points out that he and I deliberately did not include these functions
originally in an attempt to discourage people from converting back and forth
since it is expensive to do so. Clearly people want these functions anyway.
So instead I've added the following documentation to toStrict:
Note that this is an /expensive/ operation that forces the whole lazy
'ByteString' into memory and then copies all the data. If possible, try to
avoid converting back and forth between strict and lazy bytestrings.
commit 5fbaff2da0f0fdd2e2d03c1c155dade01afa1aa3
Author: Duncan Coutts <[email protected]>
Date: Mon Nov 7 12:40:46 2011 +0000
Fix documentation of complexity of toChunks
commit 085184c01d5a24c02374d4c13fa0ba22bfb82658
Author: Duncan Coutts <[email protected]>
Date: Mon Nov 7 11:36:26 2011 +0000
Bump version to 0.10.0.0
Some minor API changes and a number of extensions
commit 763f8965e9cc6ac657a31d074c472d13bc0dfbd0
Author: Duncan Coutts <[email protected]>
Date: Mon Nov 7 11:36:10 2011 +0000
Update module metadata and copyright info
commit 0074e5f12f4ec5620b300cfeec5aef3119316cc4
Author: Duncan Coutts <[email protected]>
Date: Mon Nov 7 11:35:55 2011 +0000
A few minor doc improvements
commit c1d82efe2ab68a9297b8509e39c4a6ba0aa0656e
Author: Duncan Coutts <[email protected]>
Date: Mon Nov 7 11:35:33 2011 +0000
Update package description and tested-with list
Liberally borrowed the style of description from the text package.
commit e4ed1fc9e024d587aa4f55f61ffe81e294f27d93
Author: Duncan Coutts <[email protected]>
Date: Mon Nov 7 11:34:00 2011 +0000
Fix for ghc-6.8 / base-3
commit 6e92802b54c3a44471ee535f5d702dac6a924628
Author: Duncan Coutts <[email protected]>
Date: Mon Nov 7 11:33:41 2011 +0000
Fix warning about C FFI types
commit 381b1ad9f93239627408b955d5943dbb4931fb04
Author: Duncan Coutts <[email protected]>
Date: Mon Nov 7 11:33:15 2011 +0000
CPP-conditional LANGUAGE pragmas now work since ghc-7.0.x
commit 34de70e5c5f814c62253435c8a245d4403adcc9a
Author: Duncan Coutts <[email protected]>
Date: Mon Nov 7 11:32:12 2011 +0000
Fix implementation of Lazy.groupBy
commit 5795e46a503429af40417a568a46fd8a313f2dd8
Author: Duncan Coutts <[email protected]>
Date: Mon Nov 7 11:31:28 2011 +0000
Clean up a few minor things in the test properties
commit 6854eeccc650e82997773b539fc08aa55640bbbd
Author: Duncan Coutts <[email protected]>
Date: Mon Nov 7 11:31:07 2011 +0000
Add more extensive tests for the various new pack and unpack functions
commit 727e6405ae5c83f7da40a1866c7b9c6a98441797
Author: Duncan Coutts <[email protected]>
Date: Mon Nov 7 11:30:08 2011 +0000
Include non-0 offset in instance Arbitrary Strict.ByteString
And fix a test that breaks.
commit 4076c9ce0284aad58d78c31b4256545618be3e47
Author: Duncan Coutts <[email protected]>
Date: Mon Nov 7 11:29:00 2011 +0000
Add tests for groupBy
Note that it fails for Lazy.groupBy due to a chunk boundary bug.
commit 2ccd7181bb57b054a3a087fd3116b33af9f135bc
Author: Duncan Coutts <[email protected]>
Date: Sun Nov 6 19:41:17 2011 +0000
Add BangPatterns extension
commit fe7813100e3c6033469b6c611a5a9772f8a6e844
Author: Duncan Coutts <[email protected]>
Date: Sun Nov 6 19:28:15 2011 +0000
Move Eq, Ord, Monoid instances to eliminate orphans
commit fe6af04b69ccd3fb34311077701d0e198b0c1f89
Author: Duncan Coutts <[email protected]>
Date: Sun Nov 6 18:28:00 2011 +0000
Use the new {un,}pack{Bytes,Chars} functions and simplify
We had a whole variety of odd pack/unpack functions. The nice thing is that
with modern ghc we can use simpler implementations and get as good or better
code than the old ones.
commit 35d921706a599b7ebede886f3fe4bf2a7d53b1cc
Author: Duncan Coutts <[email protected]>
Date: Sun Nov 6 18:11:18 2011 +0000
Drop unnecessary -funbox-strict-fields and set -fspec-constr-count
We use the UNPACK pragma explicitly in the couple places
where we use strict fields.
commit ddce9a614a3cf9d110100df93079ec88e52466b8
Author: Duncan Coutts <[email protected]>
Date: Sun Nov 6 18:05:08 2011 +0000
Move the IsString instance so it is not an orphan
commit 70e24a2039239eb99ff4db364070f78191655bd1
Author: Duncan Coutts <[email protected]>
Date: Sun Nov 6 17:57:37 2011 +0000
Add proper Data class instances that actually contain the data.
Same style as instances for Data.Text.
commit abded1d6d891933b2d1afc849401c3025b95a0e6
Author: Duncan Coutts <[email protected]>
Date: Sun Nov 6 16:58:51 2011 +0000
Add a proper Show and Read instance for lazy bytestrings
Previous one was derived which was silly.
commit 9c581c0ad7401983db92a9a5e9106cc3a8836e8e
Author: Duncan Coutts <[email protected]>
Date: Sun Nov 6 16:53:16 2011 +0000
Add new internal list pack and unpack functions
Use them for the Show and Read instances.
They should also be a tad better in terms of speed and memory use.
commit 2e61f651f427dff7b5a858970c5fa65acaa8903e
Author: Duncan Coutts <[email protected]>
Date: Sun Nov 6 00:16:27 2011 +0000
Remove unused fusion module
commit f20a5dcb1918409a4bb8de396cc41138ab4f327f
Author: Duncan Coutts <[email protected]>
Date: Sat Nov 5 23:35:37 2011 +0000
Fix test-suite and get rid of some warnings
Based on a patch by Bas van Dijk <[email protected]>
commit 672ace80f0e4a233e975f6083942428068e6cdc1
Author: Duncan Coutts <[email protected]>
Date: Sat Nov 5 17:17:54 2011 +0000
Update cabal package metadata
Remove old homepage, add source repo and bug report addresses.
commit 43388cda7838a1c92789a5fd2988c3f0f9965fe9
Author: Bas van Dijk <[email protected]>
Date: Sat Nov 5 16:50:50 2011 +0000
Add NFData instances for strict and lazy ByteStrings
commit f85488d2bf315792c70bbc6ecd77c4839ef6217d
Author: Duncan Coutts <[email protected]>
Date: Sat Nov 5 16:32:59 2011 +0000
Throw exception in IO for functions in IO
Tracked down by Gershom Bazerman
commit 5844eabca00824c897475ba469cea13ce4c3da93
Author: Duncan Coutts <[email protected]>
Date: Sat Nov 5 15:16:35 2011 +0000
Specify sensible fixities for cons and snoc
As suggested by Yitzchak Gale.
_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc