Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ghc-blaze-builder for
openSUSE:Factory checked in at 2025-08-03 13:37:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-blaze-builder (Old)
and /work/SRC/openSUSE:Factory/.ghc-blaze-builder.new.1085 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-blaze-builder"
Sun Aug 3 13:37:41 2025 rev:22 rq:1297148 version:0.4.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-blaze-builder/ghc-blaze-builder.changes
2025-05-22 16:57:45.216166122 +0200
+++
/work/SRC/openSUSE:Factory/.ghc-blaze-builder.new.1085/ghc-blaze-builder.changes
2025-08-03 13:38:14.233508066 +0200
@@ -1,0 +2,8 @@
+Fri Aug 1 15:28:19 UTC 2025 - Peter Simons <[email protected]>
+
+- Update blaze-builder to version 0.4.4.
+ Upstream has renamed and modified the change log file(s) in this
+ release. Unfortunately, the automatic updater cannot reliable
+ determine relevant entries for this release.
+
+-------------------------------------------------------------------
Old:
----
blaze-builder-0.4.3.tar.gz
New:
----
blaze-builder-0.4.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-blaze-builder.spec ++++++
--- /var/tmp/diff_new_pack.VxuNDM/_old 2025-08-03 13:38:14.833532954 +0200
+++ /var/tmp/diff_new_pack.VxuNDM/_new 2025-08-03 13:38:14.833532954 +0200
@@ -20,7 +20,7 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.4.3
+Version: 0.4.4
Release: 0
Summary: Efficient buffered output
License: BSD-3-Clause
@@ -113,7 +113,7 @@
%license LICENSE
%files devel -f %{name}-devel.files
-%doc CHANGES README.markdown TODO
+%doc CHANGELOG.md README.markdown
%files -n ghc-%{pkg_name}-doc -f ghc-%{pkg_name}-doc.files
%license LICENSE
++++++ blaze-builder-0.4.3.tar.gz -> blaze-builder-0.4.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/blaze-builder-0.4.3/Blaze/ByteString/Builder/Char/Utf8.hs
new/blaze-builder-0.4.4/Blaze/ByteString/Builder/Char/Utf8.hs
--- old/blaze-builder-0.4.3/Blaze/ByteString/Builder/Char/Utf8.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/blaze-builder-0.4.4/Blaze/ByteString/Builder/Char/Utf8.hs
2001-09-09 03:46:40.000000000 +0200
@@ -29,7 +29,9 @@
import qualified Data.ByteString.Builder as B
import qualified Data.ByteString.Builder.Prim as P
import qualified Data.Text as TS
+import qualified Data.Text.Encoding as TE
import qualified Data.Text.Lazy as TL
+import qualified Data.Text.Lazy.Encoding as TLE
-- | Write a UTF-8 encoded Unicode character to a buffer.
--
@@ -59,11 +61,11 @@
-- | /O(n)/. Serialize a strict Unicode 'TS.Text' value using the UTF-8
encoding.
--
fromText :: TS.Text -> Builder
-fromText = fromString . TS.unpack
+fromText = TE.encodeUtf8Builder
{-# INLINE fromText #-}
-- | /O(n)/. Serialize a lazy Unicode 'TL.Text' value using the UTF-8 encoding.
--
fromLazyText :: TL.Text -> Builder
-fromLazyText = fromString . TL.unpack
+fromLazyText = TLE.encodeUtf8Builder
{-# INLINE fromLazyText #-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/blaze-builder-0.4.3/CHANGELOG.md
new/blaze-builder-0.4.4/CHANGELOG.md
--- old/blaze-builder-0.4.3/CHANGELOG.md 1970-01-01 01:00:00.000000000
+0100
+++ new/blaze-builder-0.4.4/CHANGELOG.md 2001-09-09 03:46:40.000000000
+0200
@@ -0,0 +1,180 @@
+* 0.4.4 2025-07-31
+ - Optimization:
+ `Blaze.ByteString.Builder.Char.Utf8.fromText =
Data.Text.Encoding.encodeUtf8Builder`
+ rather than going through `String`.
+ (Alex Biehl, PR #11 https://github.com/blaze-builder/blaze-builder/pull/11)
+ - Tested with GHC 8.0 - 9.12.2
+
+* 0.4.3 2025-05-15
+ - Fix computation of max buffer overhead on 32 bit platforms
+ (sternenseemann, PR #8
https://github.com/blaze-builder/blaze-builder/pull/8)
+ - Drop support for GHC 7, bytestring < 0.10.4 and text < 1.1.2
+ - Tested with GHC 8.0 - 9.12.2
+
+* 0.4.2.3 2023-08-27
+ - Fix compilation warnings concerning non-canonical mappend
+ - Support bytestring-0.12
+ - Support text-2.1
+ - Tested with GHC 7.0.4 to 9.8.1 alpha3
+
+* 0.4.2.2
+ - Support GHC 9.2
+
+* 0.4.2.1
+ - Bump cabal file to Cabal >= 1.10
+
+* 0.4.2.0
+ - Make semigroup instances unconditional
+ - Support bytestring-0.11
+ - Support semigroups-0.19
+
+* 0.4.1.0
+ - Gain compatibility with the Semigroup/Monoid proposal
+ - Add Word8 HTML escaping builders
+ - Speed up `fromHtmlEscapedText` and `fromHtmlEscapedLazyText`
+
+* 0.4.0.2
+ - Fixed warnings on GHC 7.10, courtesy of Mikhail Glushenkov.
+
+* 0.4.0.1
+ - Tightened the version constraints on the bytestring package for GHC 7.8
+
+* 0.4.0.0
+ - This is now a compatibility shim for the new bytestring builder. Most
+ of the old internal modules are gone. See this blog post for more
+ information:
+
+ <http://blog.melding-monads.com/2015/02/12/announcing-blaze-builder-0-4/>
+
+ - The 'Blaze.ByteString.Builder.Html.Utf8.fromHtmlEscaped*' functions now
+ strip out any ASCII control characters present in their inputs. See
+ <https://github.com/lpsmith/blaze-builder/issues/1> for more
+ information.
+
+* 0.3.3.0
+ - exposed the 'Buffer' constructor to enable keeping around a pool of
+ buffers.
+
+* 0.3.2.0
+ - added 'writeToByteString' to construct a strict bytestring in a single
+ step. We can actually view 'Write's as strict-bytestring builders.
+
+* 0.3.1.1
+ - Changed imports of Foreign.Unsafe to make it GHC 7.8 compatible
+ - -Wall clean on GHC 7.0 - 7.6
+
+* 0.3.1.0
+ - Widened dependencies on text and bytestring
+
+* 0.3.0.1
+
+ - Fix build warning in Blaze.ByteString.Builder.Word
+ (contributed by Greg Weber)
+
+* 0.3.0.1
+
+ - Remove comparison to the 'text' library encoding functions of
+ 'Blaze.Builder.Char.Utf8.fromText' and
+ 'Blaze.Builder.Char.Utf8.fromLazyText'. Bryan O'Sullivan reported that on
+ his 64-bit system with GHC 7.0.3 the 'text' library is 5x faster than the
+ 'blaze-builder' library.
+
+* 0.3.0.0
+
+ - Renamings in internal modules: WriteIO -> Poke and associated functions.
+
+* 0.2.1.4
+
+ - Fixed bug: appending to 'chunkedTransferEncoding somebuilder' also encoded
+ the appended builder, which is obviously wrong.
+
+* 0.2.1.3
+
+ - Fixed bug: 'chunkedTransferTerminator' is now correctly set to "0\r\n\r\n".
+
+* 0.2.1.2
+
+ - Add 'MonoPatBinds' language extension to all relevant files to solve the
+ issues caused by GHC bug http://hackage.haskell.org/trac/ghc/ticket/4498
+
+* 0.2.1.1
+
+ - Reexport 'Write' datatype and 'fromWriteList', 'fromWriteSingleton',
+ 'fromWrite' functions together with writes and builders for storables.
+ - Add 'MonoPatBinds' language extension to (hopefully) solve the issues
+ caused by GHC bug http://hackage.haskell.org/trac/ghc/ticket/4498
+
+* 0.2.1.0
+
+ Incorporated several design changes:
+ - Writable buffer range is now represented in a packed form. This improves
+ speed slightly, as less currying is used.
+ - Writes are abstracted such that their internal representation can be
+ exchanged without breaking other library code.
+ - Writes are represented in a form that allows for efficient monoid
+ instances for branching code like UTF-8 encoding. For single character
+ encoding this results currently in a slight slowdown due to GHC not
+ recognizing the strictness of the returned value. This will be fixed in
+ the future.
+ - BuildSteps support returning a result in `Done`, which enables to
+ implement a `Put` monad using CPS.
+ - chunked list writes were removed, as they result in worse performance
+ when writing non-trivial lists. (cf. benchmarks)
+ - An internal buffering abstraction is introduced, which is used both
+ by the adaption of the `binary` package, as well as by the
+ `blaze-builder-enumeratee` package, to execute puts and builders.
+ It will be used later also by the execution functions of the
+ `blaze-builder` package.
+
+ Implemented new functionality
+ - `Blaze.ByteString.Builder.HTTP` provides a builder transformer for
+ doing in-buffer chunked HTTP encoding of an arbitary other builder.
+ - `Blaze.ByteString.Builder.Char8` provides functions to serialize the
+ lower 8-bits of characters similiar to what `Data.ByteString.Char8`
+ provides for bytestrings.
+
+* 0.2.0.3
+
+ Loosen 'text' dependency to '>= 0.10 && < 0.12'
+
+* 0.2.0.2
+
+ Fixed bug: use ' instead of ' for HTML escaping '
+
+* 0.2.0.1
+
+ Added a missing benchmark file.
+
+* blaze-builder-0.2.0.0
+
+ Heavily restructured 'blaze-builder' such that 'Blaze.ByteString.Builder'
serves as
+ a drop-in replacement of 'binary:Data.Binary.Builder' which it improves upon
+ with respect to both speed as well as expressivity. See the documentation and
+ the benchmarks for details on improvements and new functionality.
+
+ Changed module structure:
+ Blaze.ByteString.Builder.Core -> Blaze.ByteString.Builder
+ Blaze.ByteString.Builder.Utf8 -> Blaze.ByteString.Builder.Char.Utf8
+ Blaze.ByteString.Builder.Html -> Blaze.ByteString.Builder.Html.Utf8
+
+ Changed function names:
+ writeByte -> writeWord8
+ fromByte -> fromWord8
+ fromWriteList -> fromWrite1List
+
+ Possibly performance sensitive implementation changes:
+ - 'fromByteString' and 'fromLazyByteString' check now if a direct insertion
+ of the bytestring(s) would be cheaper than copying it. See their
+ documentation on how to recover the old behaviour.
+
+ Deprecated functions:
+ 'empty' : use 'mempty' instead
+ 'singleton': use 'fromWord8' instead
+ 'append' : use 'mappend' instead
+
+
+* blaze-builder-0.1
+
+ This is the first version of 'blaze-builder'. It is explicitely targeted at
+ fast generation of UTF-8 encoded HTML documents in the 'blaze-html' and the
+ 'hamlet' HTML templating libraries.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/blaze-builder-0.4.3/CHANGES
new/blaze-builder-0.4.4/CHANGES
--- old/blaze-builder-0.4.3/CHANGES 2001-09-09 03:46:40.000000000 +0200
+++ new/blaze-builder-0.4.4/CHANGES 1970-01-01 01:00:00.000000000 +0100
@@ -1,173 +0,0 @@
-* 0.4.3 2025-05-15
- - Fix computation of max buffer overhead on 32 bit platforms
- (sternenseemann, PR #8
https://github.com/blaze-builder/blaze-builder/pull/8)
- - Drop support for GHC 7, bytestring < 0.10.4 and text < 1.1.2
- - Tested with GHC 8.0 - 9.12.2
-
-* 0.4.2.3 2023-08-27
- - Fix compilation warnings concerning non-canonical mappend
- - Support bytestring-0.12
- - Support text-2.1
- - Tested with GHC 7.0.4 to 9.8.1 alpha3
-
-* 0.4.2.2
- - Support GHC 9.2
-
-* 0.4.2.1
- - Bump cabal file to Cabal >= 1.10
-
-* 0.4.2.0
- - Make semigroup instances unconditional
- - Support bytestring-0.11
- - Support semigroups-0.19
-
-* 0.4.1.0
- - Gain compatibility with the Semigroup/Monoid proposal
- - Add Word8 HTML escaping builders
- - Speed up `fromHtmlEscapedText` and `fromHtmlEscapedLazyText`
-
-* 0.4.0.2
- - Fixed warnings on GHC 7.10, courtesy of Mikhail Glushenkov.
-
-* 0.4.0.1
- - Tightened the version constraints on the bytestring package for GHC 7.8
-
-* 0.4.0.0
- - This is now a compatibility shim for the new bytestring builder. Most
- of the old internal modules are gone. See this blog post for more
- information:
-
- <http://blog.melding-monads.com/2015/02/12/announcing-blaze-builder-0-4/>
-
- - The 'Blaze.ByteString.Builder.Html.Utf8.fromHtmlEscaped*' functions now
- strip out any ASCII control characters present in their inputs. See
- <https://github.com/lpsmith/blaze-builder/issues/1> for more
- information.
-
-* 0.3.3.0
- - exposed the 'Buffer' constructor to enable keeping around a pool of
- buffers.
-
-* 0.3.2.0
- - added 'writeToByteString' to construct a strict bytestring in a single
- step. We can actually view 'Write's as strict-bytestring builders.
-
-* 0.3.1.1
- - Changed imports of Foreign.Unsafe to make it GHC 7.8 compatible
- - -Wall clean on GHC 7.0 - 7.6
-
-* 0.3.1.0
- - Widened dependencies on text and bytestring
-
-* 0.3.0.1
-
- - Fix build warning in Blaze.ByteString.Builder.Word
- (contributed by Greg Weber)
-
-* 0.3.0.1
-
- - Remove comparison to the 'text' library encoding functions of
- 'Blaze.Builder.Char.Utf8.fromText' and
- 'Blaze.Builder.Char.Utf8.fromLazyText'. Bryan O'Sullivan reported that on
- his 64-bit system with GHC 7.0.3 the 'text' library is 5x faster than the
- 'blaze-builder' library.
-
-* 0.3.0.0
-
- - Renamings in internal modules: WriteIO -> Poke and associated functions.
-
-* 0.2.1.4
-
- - Fixed bug: appending to 'chunkedTransferEncoding somebuilder' also encoded
- the appended builder, which is obviously wrong.
-
-* 0.2.1.3
-
- - Fixed bug: 'chunkedTransferTerminator' is now correctly set to "0\r\n\r\n".
-
-* 0.2.1.2
-
- - Add 'MonoPatBinds' language extension to all relevant files to solve the
- issues caused by GHC bug http://hackage.haskell.org/trac/ghc/ticket/4498
-
-* 0.2.1.1
-
- - Reexport 'Write' datatype and 'fromWriteList', 'fromWriteSingleton',
- 'fromWrite' functions together with writes and builders for storables.
- - Add 'MonoPatBinds' language extension to (hopefully) solve the issues
- caused by GHC bug http://hackage.haskell.org/trac/ghc/ticket/4498
-
-* 0.2.1.0
-
- Incorporated several design changes:
- - Writable buffer range is now represented in a packed form. This improves
- speed slightly, as less currying is used.
- - Writes are abstracted such that their internal representation can be
- exchanged without breaking other library code.
- - Writes are represented in a form that allows for efficient monoid
- instances for branching code like UTF-8 encoding. For single character
- encoding this results currently in a slight slowdown due to GHC not
- recognizing the strictness of the returned value. This will be fixed in
- the future.
- - BuildSteps support returning a result in `Done`, which enables to
- implement a `Put` monad using CPS.
- - chunked list writes were removed, as they result in worse performance
- when writing non-trivial lists. (cf. benchmarks)
- - An internal buffering abstraction is introduced, which is used both
- by the adaption of the `binary` package, as well as by the
- `blaze-builder-enumeratee` package, to execute puts and builders.
- It will be used later also by the execution functions of the
- `blaze-builder` package.
-
- Implemented new functionality
- - `Blaze.ByteString.Builder.HTTP` provides a builder transformer for
- doing in-buffer chunked HTTP encoding of an arbitary other builder.
- - `Blaze.ByteString.Builder.Char8` provides functions to serialize the
- lower 8-bits of characters similiar to what `Data.ByteString.Char8`
- provides for bytestrings.
-
-* 0.2.0.3
-
- Loosen 'text' dependency to '>= 0.10 && < 0.12'
-
-* 0.2.0.2
-
- Fixed bug: use ' instead of ' for HTML escaping '
-
-* 0.2.0.1
-
- Added a missing benchmark file.
-
-* blaze-builder-0.2.0.0
-
- Heavily restructured 'blaze-builder' such that 'Blaze.ByteString.Builder'
serves as
- a drop-in replacement of 'binary:Data.Binary.Builder' which it improves upon
- with respect to both speed as well as expressivity. See the documentation and
- the benchmarks for details on improvements and new functionality.
-
- Changed module structure:
- Blaze.ByteString.Builder.Core -> Blaze.ByteString.Builder
- Blaze.ByteString.Builder.Utf8 -> Blaze.ByteString.Builder.Char.Utf8
- Blaze.ByteString.Builder.Html -> Blaze.ByteString.Builder.Html.Utf8
-
- Changed function names:
- writeByte -> writeWord8
- fromByte -> fromWord8
- fromWriteList -> fromWrite1List
-
- Possibly performance sensitive implementation changes:
- - 'fromByteString' and 'fromLazyByteString' check now if a direct insertion
- of the bytestring(s) would be cheaper than copying it. See their
- documentation on how to recover the old behaviour.
-
- Deprecated functions:
- 'empty' : use 'mempty' instead
- 'singleton': use 'fromWord8' instead
- 'append' : use 'mappend' instead
-
-
-* blaze-builder-0.1
-
- This is the first version of 'blaze-builder'. It is explicitely targeted at
- fast generation of UTF-8 encoded HTML documents in the 'blaze-html' and the
- 'hamlet' HTML templating libraries.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/blaze-builder-0.4.3/TODO new/blaze-builder-0.4.4/TODO
--- old/blaze-builder-0.4.3/TODO 2001-09-09 03:46:40.000000000 +0200
+++ new/blaze-builder-0.4.4/TODO 1970-01-01 01:00:00.000000000 +0100
@@ -1,73 +0,0 @@
-
-!! UPDATE TODO !!
-
-!! UPDATE BENCHMARKS !!
-
- * custom serialization functions for lists of 'WordX's
- - benchmark chunk size speedup for more complicated computations of list
- elements => to be expected that we get no speedup anymore or even a
- slowdown => adapt Blaze.ByteString.Builder.Word accordingly.
-
- * fast serialization for 'Text' values (currently unpacking to 'String' is
- the fastest :-/)
-
- * implementation
- - further encodings for 'Char'
- - think about end-of-buffer wrapping when copying bytestrings
- - toByteStringIO with accumulator capability => provide 'toByteStringIO_'
- - allow buildr/foldr deforestation to happen for input to
'fromWrite<n>List'
- (or whatever stream fusion framework is in place for lists)
- - implement 'toByteString' with an amortized O(n) runtime using the
- exponentional scaling trick. If the start size is chosen wisely this
- may even be faster than 'S.pack', as the one copy per element is
- cheaper than one list thunk per element. It is even likely that we can
- amortize three copies per element, which allows to avoid spilling any
- buffer space by doing a last compaction copy.
- - we could provide builders that honor alignment restrictions, either as
- builder transformers or as specialized write to builder converters. The
- trick is for the driver to ensure that the buffer beginning is aligned
- to the largest aligning (8 or 16 bytes?) required. This is probably the
- case by default. Then we can always align a pointer in the buffer by
- appropriately aligning the write pointer.
-
- * extend tests to new functions
-
- * benchmarks
- - understand why the declarative blaze-builder version is the fastest
- serializer for Word64 little-endian and big-endian
- - check the cost of using `mappend` on builders instead of writes.
- - show that using toByteStringIO has an advantage over toLazyByteString
- - check performance of toByteStringIO
- - compare speed of 'L.pack' to speed of 'toLazyByteString . fromWord8s'
-
- * documentation
- - sort out formultion: "serialization" vs. "encoding"
-
- * check portability to Hugs
-
- * performance:
- - check if reordering 'pe' and 'pf' change performance; it seems that
'pe'
- is only a reader argument while 'pf' is a state argument.
- - perhaps we could improve performance by taking page size, page
- alignment, and memory access alignment into account.
- - detect machine endianness and use host order writes for the supported
- endianness.
- - introduce a type 'BoundedWrite' that encapsulates a 'Write' generator
- with a bound on the number of bytes maximally written by the write.
- This way we can achieve data independence for the size check by
- sacrificing just a little bit of buffer space at buffer ends.
- - investigate where we would profit from static bounds on number of bytes
- written (e.g. to make the control flow more linear)
-
- * testing
- - port tests from 'Data.Binary.Builder' to ensure that the word writes
- and builders are working correctly. I may have missed some pitfalls
- about word types in Haskell during porting the functions from
- 'Data.Binary.Builder'.
-
- * portability
- - port to Hugs
- - test lower versions of GHC
-
- * deployment
- - add source repository to 'blaze-html' and 'blaze-builder' cabal files
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/blaze-builder-0.4.3/benchmarks/BenchmarkServer.hs
new/blaze-builder-0.4.4/benchmarks/BenchmarkServer.hs
--- old/blaze-builder-0.4.3/benchmarks/BenchmarkServer.hs 2001-09-09
03:46:40.000000000 +0200
+++ new/blaze-builder-0.4.4/benchmarks/BenchmarkServer.hs 2001-09-09
03:46:40.000000000 +0200
@@ -8,7 +8,7 @@
import Prelude hiding (putStrLn)
import Data.Char (ord)
-import Data.Monoid
+import Data.Monoid
import Data.ByteString.Char8 () -- IsString instance only
import qualified Data.ByteString as S
import qualified Data.ByteString.Lazy as L
@@ -16,7 +16,7 @@
import Control.Concurrent (forkIO, putMVar, takeMVar, newEmptyMVar)
import Control.Exception (bracket)
-import Control.Monad
+import Control.Monad
import Network.Socket (Socket, accept, sClose)
import Network (listenOn, PortID (PortNumber))
@@ -31,15 +31,15 @@
import Criterion.Main
-httpOkHeader :: S.ByteString
-httpOkHeader = S.concat
+httpOkHeader :: S.ByteString
+httpOkHeader = S.concat
[ "HTTP/1.1 200 OK\r\n"
, "Content-Type: text/html; charset=UTF-8\r\n"
, "\r\n" ]
response :: Int -> Builder
-response n =
- fromByteString httpOkHeader `mappend`
+response n =
+ fromByteString httpOkHeader `mappend`
fromString (take n $ cycle "hello λ-world! ")
sendVectoredBuilderLBS :: Socket -> Builder -> IO ()
@@ -47,7 +47,7 @@
{-# NOINLINE sendVectoredBuilderLBS #-}
sendBuilderLBS :: Socket -> Builder -> IO ()
-sendBuilderLBS s =
+sendBuilderLBS s =
-- mapM_ (S.sendAll s) . L.toChunks . toLazyByteString
L.foldrChunks (\c -> (S.sendAll s c >>)) (return ()). toLazyByteString
{-# NOINLINE sendBuilderLBS #-}
@@ -58,7 +58,7 @@
-- criterion benchmark determining the speed of response
main2 = defaultMain
- [ bench ("response " ++ show n) $ whnf
+ [ bench ("response " ++ show n) $ whnf
(L.length . toLazyByteString . response) n
]
where
@@ -69,12 +69,12 @@
main = do
[port, nChars] <- map read `liftM` getArgs
killSignal <- newEmptyMVar
- bracket (listenOn . PortNumber . fromIntegral $ port) sClose
+ bracket (listenOn . PortNumber . fromIntegral $ port) sClose
(\socket -> do
_ <- forkIO $ loop (putMVar killSignal ()) nChars socket
takeMVar killSignal)
where
- loop killServer nChars socket = forever $ do
+ loop killServer nChars socket = forever $ do
(s, _) <- accept socket
forkIO (respond s nChars)
where
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/blaze-builder-0.4.3/benchmarks/StrictIO.hs
new/blaze-builder-0.4.4/benchmarks/StrictIO.hs
--- old/blaze-builder-0.4.3/benchmarks/StrictIO.hs 2001-09-09
03:46:40.000000000 +0200
+++ new/blaze-builder-0.4.4/benchmarks/StrictIO.hs 2001-09-09
03:46:40.000000000 +0200
@@ -23,6 +23,3 @@
return $ i + 1
{-# INLINE subcases #-}
-
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/blaze-builder-0.4.3/benchmarks/Throughput/BinaryBuilder.hs
new/blaze-builder-0.4.4/benchmarks/Throughput/BinaryBuilder.hs
--- old/blaze-builder-0.4.3/benchmarks/Throughput/BinaryBuilder.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/blaze-builder-0.4.4/benchmarks/Throughput/BinaryBuilder.hs
2001-09-09 03:46:40.000000000 +0200
@@ -195,7 +195,7 @@
writeWord16N1Little = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = mempty
- loop s n =
+ loop s n =
(putWord16le (s+0)) `mappend`
loop (s+1) (n-1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/blaze-builder-0.4.3/benchmarks/Throughput/BlazeBuilder.hs
new/blaze-builder-0.4.4/benchmarks/Throughput/BlazeBuilder.hs
--- old/blaze-builder-0.4.3/benchmarks/Throughput/BlazeBuilder.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/blaze-builder-0.4.4/benchmarks/Throughput/BlazeBuilder.hs
2001-09-09 03:46:40.000000000 +0200
@@ -11,7 +11,7 @@
import Throughput.Utils
serialize :: Int -> Int -> Endian -> Int -> L.ByteString
-serialize wordSize chunkSize end = toLazyByteString .
+serialize wordSize chunkSize end = toLazyByteString .
case (wordSize, chunkSize, end) of
(1, 1,_) -> writeByteN1
(1, 2,_) -> writeByteN2
@@ -201,7 +201,7 @@
writeWord16N1Little = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = mempty
- loop s n =
+ loop s n =
fromWrite (writeWord16le (s+0)) `mappend`
loop (s+1) (n-1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/blaze-builder-0.4.3/benchmarks/Throughput/BlazeBuilderDeclarative.hs
new/blaze-builder-0.4.4/benchmarks/Throughput/BlazeBuilderDeclarative.hs
--- old/blaze-builder-0.4.3/benchmarks/Throughput/BlazeBuilderDeclarative.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/blaze-builder-0.4.4/benchmarks/Throughput/BlazeBuilderDeclarative.hs
2001-09-09 03:46:40.000000000 +0200
@@ -12,7 +12,7 @@
import Throughput.Utils
serialize :: Int -> Int -> Endian -> Int -> L.ByteString
-serialize wordSize chunkSize end = toLazyByteString .
+serialize wordSize chunkSize end = toLazyByteString .
case (wordSize, chunkSize, end) of
(1, 1,_) -> writeByteN1
(1, 2,_) -> writeByteN2
@@ -194,4 +194,3 @@
writeWord64N8Host = fromWrite8List writeWord64host . word64List
writeWord64N16Host = fromWrite16List writeWord64host . word64List
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/blaze-builder-0.4.3/benchmarks/Throughput/BlazePut.hs
new/blaze-builder-0.4.4/benchmarks/Throughput/BlazePut.hs
--- old/blaze-builder-0.4.3/benchmarks/Throughput/BlazePut.hs 2001-09-09
03:46:40.000000000 +0200
+++ new/blaze-builder-0.4.4/benchmarks/Throughput/BlazePut.hs 2001-09-09
03:46:40.000000000 +0200
@@ -2,7 +2,7 @@
module Throughput.BlazePut (serialize) where
import qualified Data.ByteString.Lazy as L
-import Blaze.ByteString.Builder
+import Blaze.ByteString.Builder
import Throughput.BlazePutMonad as Put
import Data.Monoid
@@ -12,7 +12,7 @@
------------------------------------------------------------------------
serialize :: Int -> Int -> Endian -> Int -> L.ByteString
-serialize wordSize chunkSize end = runPut .
+serialize wordSize chunkSize end = runPut .
case (wordSize, chunkSize, end) of
(1, 1,_) -> writeByteN1
(1, 2,_) -> writeByteN2
@@ -72,7 +72,7 @@
writeByteN1 bytes = loop 0 0
where loop !s !n | n == bytes = return ()
- | otherwise = do
+ | otherwise = do
Put.putWrite ( writeWord8 s)
loop (s+1) (n+1)
@@ -88,7 +88,7 @@
writeByteN4 = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord8 (s+0) `mappend`
writeWord8 (s+1) `mappend`
@@ -99,7 +99,7 @@
writeByteN8 = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord8 (s+0) `mappend`
writeWord8 (s+1) `mappend`
@@ -114,7 +114,7 @@
writeByteN16 = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord8 (s+0) `mappend`
writeWord8 (s+1) `mappend`
@@ -140,14 +140,14 @@
writeWord16N1Big = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWord16be (s+0)
loop (s+1) (n-1)
writeWord16N2Big = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord16be (s+0) `mappend`
writeWord16be (s+1))
@@ -156,7 +156,7 @@
writeWord16N4Big = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord16be (s+0) `mappend`
writeWord16be (s+1) `mappend`
@@ -167,7 +167,7 @@
writeWord16N8Big = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord16be (s+0) `mappend`
writeWord16be (s+1) `mappend`
@@ -182,7 +182,7 @@
writeWord16N16Big = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord16be (s+0) `mappend`
writeWord16be (s+1) `mappend`
@@ -208,14 +208,14 @@
writeWord16N1Little = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n =
+ loop s n =
do Put.putWord16le (s+0)
loop (s+1) (n-1)
writeWord16N2Little = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord16le (s+0) `mappend`
writeWord16le (s+1))
@@ -224,7 +224,7 @@
writeWord16N4Little = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord16le (s+0) `mappend`
writeWord16le (s+1) `mappend`
@@ -235,7 +235,7 @@
writeWord16N8Little = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord16le (s+0) `mappend`
writeWord16le (s+1) `mappend`
@@ -250,7 +250,7 @@
writeWord16N16Little = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord16le (s+0) `mappend`
writeWord16le (s+1) `mappend`
@@ -276,14 +276,14 @@
writeWord16N1Host = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWord16host (s+0)
loop (s+1) (n-1)
writeWord16N2Host = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord16host (s+0) `mappend`
writeWord16host (s+1))
@@ -292,7 +292,7 @@
writeWord16N4Host = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord16host (s+0) `mappend`
writeWord16host (s+1) `mappend`
@@ -303,7 +303,7 @@
writeWord16N8Host = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord16host (s+0) `mappend`
writeWord16host (s+1) `mappend`
@@ -318,7 +318,7 @@
writeWord16N16Host = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord16host (s+0) `mappend`
writeWord16host (s+1) `mappend`
@@ -343,14 +343,14 @@
writeWord32N1Big = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWord32be (s+0)
loop (s+1) (n-1)
writeWord32N2Big = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord32be (s+0) `mappend`
writeWord32be (s+1))
@@ -359,7 +359,7 @@
writeWord32N4Big = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord32be (s+0) `mappend`
writeWord32be (s+1) `mappend`
@@ -370,7 +370,7 @@
writeWord32N8Big = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord32be (s+0) `mappend`
writeWord32be (s+1) `mappend`
@@ -385,7 +385,7 @@
writeWord32N16Big = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord32be (s+0) `mappend`
writeWord32be (s+1) `mappend`
@@ -410,14 +410,14 @@
writeWord32N1Little = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWord32le (s+0)
loop (s+1) (n-1)
writeWord32N2Little = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord32le (s+0) `mappend`
writeWord32le (s+1))
@@ -426,7 +426,7 @@
writeWord32N4Little = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord32le (s+0) `mappend`
writeWord32le (s+1) `mappend`
@@ -437,7 +437,7 @@
writeWord32N8Little = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord32le (s+0) `mappend`
writeWord32le (s+1) `mappend`
@@ -452,7 +452,7 @@
writeWord32N16Little = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord32le (s+0) `mappend`
writeWord32le (s+1) `mappend`
@@ -477,14 +477,14 @@
writeWord32N1Host = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWord32host (s+0)
loop (s+1) (n-1)
writeWord32N2Host = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord32host (s+0) `mappend`
writeWord32host (s+1))
@@ -493,7 +493,7 @@
writeWord32N4Host = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord32host (s+0) `mappend`
writeWord32host (s+1) `mappend`
@@ -504,7 +504,7 @@
writeWord32N8Host = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord32host (s+0) `mappend`
writeWord32host (s+1) `mappend`
@@ -519,7 +519,7 @@
writeWord32N16Host = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord32host (s+0) `mappend`
writeWord32host (s+1) `mappend`
@@ -544,14 +544,14 @@
writeWord64N1Big = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWord64be (s+0)
loop (s+1) (n-1)
writeWord64N2Big = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord64be (s+0) `mappend`
writeWord64be (s+1))
@@ -560,7 +560,7 @@
writeWord64N4Big = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord64be (s+0) `mappend`
writeWord64be (s+1) `mappend`
@@ -571,7 +571,7 @@
writeWord64N8Big = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord64be (s+0) `mappend`
writeWord64be (s+1) `mappend`
@@ -586,7 +586,7 @@
writeWord64N16Big = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord64be (s+0) `mappend`
writeWord64be (s+1) `mappend`
@@ -611,14 +611,14 @@
writeWord64N1Little = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWord64le (s+0)
loop (s+1) (n-1)
writeWord64N2Little = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord64le (s+0) `mappend`
writeWord64le (s+1))
@@ -627,7 +627,7 @@
writeWord64N4Little = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord64le (s+0) `mappend`
writeWord64le (s+1) `mappend`
@@ -638,7 +638,7 @@
writeWord64N8Little = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord64le (s+0) `mappend`
writeWord64le (s+1) `mappend`
@@ -653,7 +653,7 @@
writeWord64N16Little = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord64le (s+0) `mappend`
writeWord64le (s+1) `mappend`
@@ -678,14 +678,14 @@
writeWord64N1Host = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWord64host (s+0)
loop (s+1) (n-1)
writeWord64N2Host = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord64host (s+0) `mappend`
writeWord64host (s+1))
@@ -694,7 +694,7 @@
writeWord64N4Host = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord64host (s+0) `mappend`
writeWord64host (s+1) `mappend`
@@ -705,7 +705,7 @@
writeWord64N8Host = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord64host (s+0) `mappend`
writeWord64host (s+1) `mappend`
@@ -720,7 +720,7 @@
writeWord64N16Host = loop 0
where loop s n | s `seq` n `seq` False = undefined
loop _ 0 = return ()
- loop s n = do
+ loop s n = do
Put.putWrite (
writeWord64host (s+0) `mappend`
writeWord64host (s+1) `mappend`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/blaze-builder-0.4.3/benchmarks/Throughput/BlazePutMonad.hs
new/blaze-builder-0.4.4/benchmarks/Throughput/BlazePutMonad.hs
--- old/blaze-builder-0.4.3/benchmarks/Throughput/BlazePutMonad.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/blaze-builder-0.4.4/benchmarks/Throughput/BlazePutMonad.hs
2001-09-09 03:46:40.000000000 +0200
@@ -4,7 +4,7 @@
-- Module : Data.Binary.Put
-- Copyright : Lennart Kolmodin
-- License : BSD3-style (see LICENSE)
---
+--
-- Maintainer : Lennart Kolmodin <[email protected]>
-- Stability : stable
-- Portability : Portable to Hugs and GHC. Requires MPTCs
@@ -64,7 +64,7 @@
------------------------------------------------------------------------
--- XXX Strict in buffer only.
+-- XXX Strict in buffer only.
data PairS a = PairS a {-# UNPACK #-}!Builder
sndS :: PairS a -> Builder
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/blaze-builder-0.4.3/benchmarks/Throughput/Utils.hs
new/blaze-builder-0.4.4/benchmarks/Throughput/Utils.hs
--- old/blaze-builder-0.4.3/benchmarks/Throughput/Utils.hs 2001-09-09
03:46:40.000000000 +0200
+++ new/blaze-builder-0.4.4/benchmarks/Throughput/Utils.hs 2001-09-09
03:46:40.000000000 +0200
@@ -1,5 +1,5 @@
module Throughput.Utils (
- Endian(..)
+ Endian(..)
) where
@@ -9,4 +9,3 @@
| Host
deriving (Eq,Ord,Show)
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/blaze-builder-0.4.3/blaze-builder.cabal
new/blaze-builder-0.4.4/blaze-builder.cabal
--- old/blaze-builder-0.4.3/blaze-builder.cabal 2001-09-09 03:46:40.000000000
+0200
+++ new/blaze-builder-0.4.4/blaze-builder.cabal 2001-09-09 03:46:40.000000000
+0200
@@ -1,5 +1,6 @@
+Cabal-version: 1.18
Name: blaze-builder
-Version: 0.4.3
+Version: 0.4.4
Synopsis: Efficient buffered output.
Description:
@@ -30,7 +31,6 @@
Category: Data
Build-type: Simple
-Cabal-version: >= 1.10
Tested-with:
GHC == 9.12.2
@@ -47,11 +47,12 @@
GHC == 8.2.2
GHC == 8.0.2
+Extra-doc-files:
+ README.markdown
+ CHANGELOG.md
+
Extra-source-files:
Makefile
- README.markdown
- TODO
- CHANGES
benchmarks/*.hs
benchmarks/Throughput/*.hs