cabal-version: 3.0 name: ptr-peeker version: 0.2 synopsis: High-performance composable binary data deserializers description: A high-performance binary data deserialization library providing a type-safe, flexible and composable abstraction over manipulations on pointers. The API consists of two complementary abstractions: * 'Fixed' decoders for compile-time known, fixed-size data structures * 'Variable' decoders for runtime-dependent, variable-size data structures In combination they allow to build decoders of any complexity. The library delivers superior performance compared to alternatives like "cereal" and "store", making it ideal for high-throughput applications, networking, and systems programming. homepage: https://github.com/nikita-volkov/ptr-peeker bug-reports: https://github.com/nikita-volkov/ptr-peeker/issues author: Nikita Volkov maintainer: Nikita Volkov copyright: (c) 2021, Nikita Volkov license: MIT license-file: LICENSE source-repository head type: git location: https://github.com/nikita-volkov/ptr-peeker common base default-language: Haskell2010 default-extensions: ApplicativeDo Arrows BangPatterns BlockArguments ConstraintKinds DataKinds DefaultSignatures DeriveDataTypeable DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable DerivingVia EmptyDataDecls FlexibleContexts FlexibleInstances FunctionalDependencies GADTs GeneralizedNewtypeDeriving ImportQualifiedPost LambdaCase LiberalTypeSynonyms MagicHash MultiParamTypeClasses MultiWayIf NoImplicitPrelude NoMonomorphismRestriction OverloadedStrings ParallelListComp PatternGuards QuasiQuotes RankNTypes RecordWildCards RoleAnnotations ScopedTypeVariables StandaloneDeriving StrictData TemplateHaskell TupleSections TypeApplications TypeFamilies TypeOperators UnboxedTuples common executable import: base ghc-options: -O2 -threaded -with-rtsopts=-N -rtsopts -funbox-strict-fields common test import: base ghc-options: -threaded -with-rtsopts=-N library import: base hs-source-dirs: src/library exposed-modules: PtrPeeker other-modules: PtrPeeker.Fixed PtrPeeker.Prelude PtrPeeker.Variable build-depends: base >=4.14 && <5, bytestring >=0.11 && <0.14, ptr >=0.16.8.6 && <0.17, text >=2 && <3, vector >=0.13 && <0.14, test-suite test import: test type: exitcode-stdio-1.0 hs-source-dirs: src/test main-is: Main.hs build-depends: QuickCheck >=2.8.1 && <3, cereal >=0.5.8 && <0.6, ptr-peeker, quickcheck-instances >=0.3.11 && <0.4, rerebase <2, tasty >=1.4.1 && <2, tasty-hunit >=0.10.0.3 && <0.11, tasty-quickcheck >=0.10.1.2 && <0.11, benchmark bench import: executable type: exitcode-stdio-1.0 hs-source-dirs: src/bench main-is: Main.hs build-depends: cereal >=0.5.8.3 && <0.6, criterion >=1.6 && <1.7, ptr-peeker, rerebase >=1.16.1 && <2, store >=0.7.18 && <0.8, tasty-hunit >=0.10.0.3 && <0.11,