cabal-version: >=1.10 name: flat version: 0.4 license: BSD3 license-file: LICENSE copyright: Copyright: (c) 2016-2020 Pasqualino `Titto` Assini maintainer: tittoassini@gmail.com author: Pasqualino `Titto` Assini tested-with: GHC ==7.10.3 || ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.3 homepage: http://quid2.org synopsis: Principled and efficient bit-oriented binary serialization. description: Reference implementation of `flat`, a principled and efficient binary serialization format. category: Data,Parsing,Serialization build-type: Simple extra-source-files: stack.yaml README.md CHANGELOG source-repository head type: git location: https://github.com/Quid2/flat library exposed-modules: Data.ByteString.Convert Data.FloatCast Data.ZigZag Flat Flat.Bits Flat.Class Flat.Decoder Flat.Decoder.Prim Flat.Decoder.Strict Flat.Decoder.Types Flat.Encoder Flat.Encoder.Prim Flat.Encoder.Size Flat.Encoder.Strict Flat.Encoder.Types Flat.Endian Flat.Filler Flat.Instances Flat.Instances.Array Flat.Instances.Base Flat.Instances.ByteString Flat.Instances.Containers Flat.Instances.DList Flat.Instances.Mono Flat.Instances.Test Flat.Instances.Text Flat.Instances.Unordered Flat.Instances.Util Flat.Instances.Vector Flat.Memory Flat.Run Flat.Types Flat.Tutorial hs-source-dirs: src default-language: Haskell2010 other-extensions: NoMonomorphismRestriction DataKinds DefaultSignatures DeriveAnyClass DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable FlexibleContexts FlexibleInstances OverloadedStrings PolyKinds ScopedTypeVariables TupleSections TypeFamilies TypeOperators UndecidableInstances ghc-options: -Wall -O2 -funbox-strict-fields -fno-warn-orphans -fno-warn-name-shadowing -- -Werror if impl(eta -any) build-depends: array ==0.5.2.0 , base , bytestring ==0.10.8.2 , containers ==0.5.9.1 , deepseq ==1.4.3.0 , dlist , filepath ==1.4.1.1 , ghc-prim ==0.4.0.0 , hashable >=1.2.4.0 && <=1.2.7.0 , HUnit ==1.6.0.0 , memory >=0.14.10 && <=0.14.14 , mono-traversable ==1.0.1 , pretty >=1.1.3.4 && <=1.1.3.6 , primitive >=0.6.1.0 && <=0.6.4.0 , QuickCheck ==2.10 , tasty ==1.1.0.3 , text ==1.2.3.0 , unordered-containers >=0.2.7.1 && <=0.2.9.0 , vector >=0.11.0.0 && <=0.12.0.1 else build-depends: array >=0.5.1.0 , base >=4.8 && <5 , bytestring >=0.10.6 , containers , deepseq >=1.4 , dlist >=0.6 , ghc-prim , hashable , mono-traversable , pretty >=1.1.2 , primitive , semigroups , text , unordered-containers , vector -- , base >=4.8.2.0 && <5 -- if impl(ghc <8.2) -- build-depends: semigroups >=0.8.4 && <0.17 test-suite spec type: exitcode-stdio-1.0 main-is: Spec.hs cpp-options: -DLIST_BIT -DTEST_DECBITS if impl(ghc <8.6) cpp-options: -DENUM_LARGE -- -DETA_VERSION -Dghcjs_HOST_OS -- ghc-options: -O1 if impl(ghc >8) ghc-options: -Wno-unused-top-binds -Wno-type-defaults -Wno-missing-signatures hs-source-dirs: test other-modules: Test.Data Test.Data.Arbitrary Test.Data.Flat Test.Data.Values Test.Data2 Test.Data2.Flat Test.E Test.E.Arbitrary Test.E.Flat default-language: Haskell2010 build-depends: base , flat , ghc-prim , quickcheck-text , tasty-hunit , tasty-quickcheck , text if impl(ghc <8) build-depends: semigroups if impl(eta -any) build-depends: array ==0.5.2.0 , bytestring ==0.10.8.2 , containers ==0.5.9.1 , deepseq ==1.4.3.0 , filepath ==1.4.1.1 , HUnit ==1.6.0.0 , mono-traversable ==1.0.1 , QuickCheck ==2.10 , tasty ==1.1.0.3 , text ==1.2.3.0 else build-depends: array , bytestring , containers , deepseq , filepath , mono-traversable , QuickCheck , tasty , text -- dynamic doctests and generation of static doctests -- Usable only with recent versions of ghc (no ghcjs or eta) -- test-suite doc -- type: exitcode-stdio-1.0 -- main-is: DocSpec.hs -- hs-source-dirs: test -- default-language: Haskell2010 -- build-depends: -- base -- , directory -- , doctest ==0.16.3.1 -- , filemanip >=0.3.6.3 -- , text -- static doctests (faster, useful for test coverage and to test ghcjs and eta) test-suite doc-static type: exitcode-stdio-1.0 main-is: DocTests.hs hs-source-dirs: test other-modules: DocTest DocTest.Data.FloatCast DocTest.Data.ZigZag DocTest.Flat.Decoder.Prim DocTest.Flat.Endian DocTest.Flat.Instances.Array DocTest.Flat.Instances.Base DocTest.Flat.Instances.ByteString DocTest.Flat.Instances.Containers DocTest.Flat.Instances.DList DocTest.Flat.Instances.Mono DocTest.Flat.Instances.Text DocTest.Flat.Instances.Unordered DocTest.Flat.Instances.Vector DocTest.Flat.Bits DocTest.Flat.Tutorial default-language: Haskell2010 build-depends: array , base , bytestring , containers , dlist , flat , pretty , quickcheck-instances>=0.3.22 , QuickCheck >= 2.13.2 && < 3 -- , splitmix >= 0.0.2 -- , time-compat >= 1.9.3 , hashable >= 1.2.6.1 && < 1.4 , tasty , tasty-hunit , tasty-quickcheck , text , unordered-containers , vector if impl(ghc <8) build-depends: semigroups --ghc-options: -Wno-unused-top-binds -Wno-type-defaults -- Additional development time tests and benchmarks -- test-suite core -- type: exitcode-stdio-1.0 -- main-is: Core.hs -- hs-source-dirs: test -- default-language: Haskell2010 -- ghc-options: -O2 -- other-modules: -- other-modules: -- Test.Data -- Test.Data.Values -- Test.Data2 -- Test.Data2.Flat -- Test.E -- Test.E.Flat -- Test.Data.Flat -- build-depends: -- base -- , benchpress -- , bytestring -- , containers -- , deepseq -- , flat -- , text -- ,inspection-testing -- executable listTest -- main-is: ListTest.hs -- hs-source-dirs: test -- default-language: Haskell2010 -- build-depends: -- base -- , flat -- , text -- , time -- benchmark microBench -- type: exitcode-stdio-1.0 -- main-is: Micro.hs -- hs-source-dirs: benchmarks test -- other-modules: -- Common -- Test.Data -- Test.Data.Values -- Test.Data2 -- Test.Data2.Flat -- Test.E -- Test.E.Flat -- Test.Data.Flat -- default-language: Haskell2010 -- build-depends: -- base -- , benchpress -- , bytestring -- , containers -- , deepseq -- , flat -- , text -- benchmark miniBench -- type: exitcode-stdio-1.0 -- main-is: Mini.hs -- hs-source-dirs: benchmarks test -- other-modules: -- Report -- Test.Data -- Test.Data.Values -- Test.Data2 -- Test.Data2.Flat -- Test.E -- Test.E.Flat -- Test.Data.Flat -- default-language: Haskell2010 -- ghc-options: -O2 -- build-depends: -- base -- , flat -- , text -- if impl(eta -any) -- build-depends: -- bytestring ==0.10.8.2 -- , containers ==0.5.9.1 -- , criterion ==1.5.1.0 -- , deepseq ==1.4.3.0 -- , directory ==1.3.1.0 -- , filepath ==1.4.1.1 -- , mono-traversable ==1.0.1 -- , process ==1.6.2.0 -- , statistics ==0.14.0.2 -- , text ==1.2.3.0 -- , vector-algorithms ==0.7.0.1 -- else -- build-depends: -- bytestring -- , containers -- , criterion -- , deepseq -- , directory -- , filepath -- , mono-traversable -- , process -- , statistics -- , text