----------------------------------------------------------------
-- wren gayle romano <wren@cpan.org> ~ 2021.10.16
----------------------------------------------------------------
-- Cabal >=1.10 is required by Hackage.
Cabal-Version: >= 1.10
Build-Type: Simple
Name: bytestring-lexing
Version: 0.5.0.7
Stability: provisional
Homepage: https://wrengr.org/
Author: wren gayle romano, Don Stewart
Maintainer: wren@cpan.org
Copyright: Copyright (c) 2012--2021 wren gayle romano, 2008--2011 Don Stewart
License: BSD3
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:
<http://code.haskell.org/~wren/bytestring-lexing/bench/html>
----------------------------------------------------------------
Extra-source-files:
AUTHORS, CHANGELOG, README.md
-- This should work as far back as GHC 7.4.1, but we don't verify that by CI.
-- <https://github.com/wrengr/bytestring-lexing/actions?query=workflow%3Aci>
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
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
-- These lower bounds are probably more restrictive than
-- necessary. But then, we don't maintain any CI tests for
-- older versions, so these are the lowest bounds we've verified.
Build-Depends: base >= 4.5 && < 4.16
, bytestring >= 0.9.2.1 && < 0.12
----------------------------------------------------------------
-- <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.12
, bytestring-lexing
, tasty >= 0.10.1.2 && < 1.5
, 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.