Cabal-Version: 2.2
-- Cabal >=2.2 is required for:
-- <https://cabal.readthedocs.io/en/latest/cabal-package.html#common-stanzas>
-- Since 2.1, the Cabal-Version must be the absolutely first thing
-- in the file, even before comments. Also, no longer uses ">=".
-- <https://github.com/haskell/cabal/issues/4899>
----------------------------------------------------------------
-- wren gayle romano <wren@cpan.org> ~ 2024-08-29
----------------------------------------------------------------
Name: bytestring-lexing
Version: 0.5.0.13
Build-Type: Simple
Stability: provisional
Homepage: https://wrengr.org/software/hackage.html
Bug-Reports: https://github.com/wrengr/bytestring-lexing/issues
Author: wren gayle romano, Don Stewart
Maintainer: wren@cpan.org
Copyright: 2012–2024 wren romano, 2008–2011 Don Stewart
-- Cabal-2.2 requires us to say "BSD-3-Clause" not "BSD3"
License: BSD-3-Clause
License-File: LICENSE
Category: Data
Synopsis:
Efficiently parse and produce common integral and fractional numbers.
Description:
The bytestring-lexing package offers extremely efficient `ByteString`
parsers for some common lexemes: namely integral and fractional
numbers. In addition, it provides efficient serializers for (some
of) the formats it parses.
.
As of version 0.3.0, bytestring-lexing offers the best-in-show
parsers for integral values. (According to the Warp web server's
benchmark of parsing the Content-Length field of HTTP headers.) And
as of version 0.5.0 it offers (to my knowledge) the best-in-show
parser for fractional/floating numbers.
.
Some benchmarks for this package can be found at:
<https://github.com/wrengr/bytestring-lexing/tree/master/bench/html>
----------------------------------------------------------------
Extra-source-files:
AUTHORS, CHANGELOG, README.md
-- We only list here what is still being verified by CI:
-- <https://github.com/wrengr/bytestring-lexing/actions?query=workflow%3Aci>
-- For older versions of GHC and older versions of this library, see:
-- <https://matrix.hackage.haskell.org/#/package/bytestring-lexing/>
-- And if needed, you can try relaxing the lower bounds according to:
-- <https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/libraries/version-history>
Tested-With:
GHC ==8.0.2,
GHC ==8.2.2,
GHC ==8.4.4,
GHC ==8.6.5,
GHC ==8.8.4,
GHC ==8.10.3,
GHC ==9.0.1,
GHC ==9.2.4,
GHC ==9.4.8,
GHC ==9.6.5,
GHC ==9.8.2,
GHC ==9.10.1
Source-Repository head
Type: git
Location: https://github.com/wrengr/bytestring-lexing.git
----------------------------------------------------------------
Library
Default-Language: Haskell2010
Ghc-Options: -O2
Hs-Source-Dirs: src
Exposed-Modules: Data.ByteString.Lex.Integral
Data.ByteString.Lex.Fractional
Other-Modules: Data.ByteString.Lex.Internal
-- TODO(2021-10-23): bytestring 0.11.0.0 changed the internal
-- representation of ByteStrings to remove the offset. While
-- they do offer pattern synonyms for backwards combatibility,
-- we should re-verify that our code doesn't depend on the details.
-- <https://github.com/haskell/bytestring/pull/175>
Build-Depends: base >= 4.9 && < 4.21
, bytestring >= 0.10.8 && < 0.13
----------------------------------------------------------------
-- <https://www.haskell.org/cabal/users-guide/developing-packages.html#test-suites>
-- You can either:
-- (1) have type:exitcode-stdio-1.0 & main-is:
-- where main-is exports `main::IO()` as usual. Or,
-- (2) have type:detailed-0.9 & test-module:
-- where test-module exports tests::IO[Distribution.TestSuite.Test]
-- and you have Build-Depends: Cabal >= 1.9.2
--
-- Rather than using Cabal's built-in detailed-0.9 framework, we
-- could use the test-framework* family of packages with
-- exitcode-stdio-1.0. cf.,
-- <http://hackage.haskell.org/package/Decimal-0.4.2/src/Decimal.cabal> Or
-- the tasty* family of packages with exitcode-stdio-1.0. Notice
-- that test-framework-smallcheck is deprecated in favor of
-- tasty-smallcheck. Both have more dependencies than Cabal, so
-- will be harder to install on legacy systems; but then we wouldn't
-- have to maintain our own code to glue into Cabal's detailed-0.9.
-- Note that the oldest Tasty requires base>=4.5 whereas the oldest
-- test-framework seems to have no lower bound on base.
Test-Suite test-all
Default-Language: Haskell2010
Hs-Source-Dirs: test
Type: exitcode-stdio-1.0
-- HACK: main-is must *not* have ./test/ like it does for executables!
Main-Is: Main.hs
Other-Modules: Integral
, Fractional
-- We must include this library in order for the tests to use
-- it; but we must not give a version restriction lest Cabal
-- give warnings.
Build-Depends: base >= 4.5 && < 5
, bytestring >= 0.9.2.1 && < 0.13
, bytestring-lexing
, tasty >= 0.10.1.2 && < 1.6
, tasty-smallcheck >= 0.8.0.1 && < 0.9
, tasty-quickcheck >= 0.8.3.2 && < 0.11
-- QuickCheck >= 2.10 && < 2.15
-- smallcheck >= 1.1.1 && < 1.3
-- lazysmallcheck >= 0.6 && < 0.7
-- cabal configure flags:
-- * --enable-tests
-- * --enable-coverage (replaces the deprecated --enable-library-coverage)
-- * --enable-benchmarks (doesn't seem to actually work... At least, I was getting errors whenever I tried passing this; maybe upping the cabal-version to 1.8 fixed that?)
----------------------------------------------------------------
----------------------------------------------------------- fin.