---------------------------------------------------------------- -- wren gayle romano ~ 2021.11.02 ---------------------------------------------------------------- -- Cabal >=1.10 is required by Hackage. Cabal-Version: >= 1.10 Build-Type: Simple Name: bytestring-lexing Version: 0.5.0.8 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: 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: ---------------------------------------------------------------- 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. -- 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.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. -- -- 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. -- Build-Depends: base >= 4.5 && < 4.17 , bytestring >= 0.9.2.1 && < 0.12 ---------------------------------------------------------------- -- -- 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., -- 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.