cabal-version: 3.0 name: borsh version: 0.3.0 synopsis: Implementation of BORSH serialisation description: This package provides type classes and combinators for serialisation\/deserialisation to\/from [Borsh](https://borsh.io/) format. Unlike [CBOR](http://cbor.io/), Borsh is a non self-describing serialisation format. It is designed such that any object serialises to a canonical and deterministic string of bytes. The library supports incremental encoding and incremental decoding, and supports the use of the @ST@ monad in the decoder for efficient decoding for types such as arrays. However, the library has currently not been optimized for speed, and there may well be low-hanging fruit to make it faster. license: BSD-3-Clause license-file: LICENSE author: Edsko de Vries, Finley McIlwaine maintainer: edsko@well-typed.com category: Codec build-type: Simple extra-doc-files: CHANGELOG.md bug-reports: https://github.com/well-typed/borsh/issues tested-with: GHC == 8.6.5 , GHC == 8.8.3 , GHC == 8.10.7 , GHC == 9.0.2 , GHC == 9.2.2 source-repository head type: git location: https://github.com/well-typed/borsh common lang ghc-options: -Wall -Wredundant-constraints if impl(ghc >= 8.10) ghc-options: -Wunused-packages build-depends: base >= 4.12 && < 4.17 default-language: Haskell2010 default-extensions: BangPatterns ConstraintKinds DataKinds DefaultSignatures DeriveAnyClass DeriveFunctor DeriveGeneric DeriveTraversable DerivingStrategies DerivingVia FlexibleContexts FlexibleInstances GADTs GeneralizedNewtypeDeriving InstanceSigs KindSignatures LambdaCase MultiParamTypeClasses NumericUnderscores RankNTypes ScopedTypeVariables StandaloneDeriving TupleSections TypeApplications TypeFamilies TypeOperators UndecidableInstances library import: lang exposed-modules: Codec.Borsh Codec.Borsh.Incremental Data.FixedSizeArray other-modules: Codec.Borsh.Class Codec.Borsh.Decoding Codec.Borsh.Encoding Codec.Borsh.Incremental.Decoder Codec.Borsh.Incremental.Located Codec.Borsh.Incremental.Monad Codec.Borsh.Internal.Util.BitwiseCast Codec.Borsh.Internal.Util.ByteString Codec.Borsh.Internal.Util.ByteSwap Codec.Borsh.Internal.Util.SOP hs-source-dirs: src build-depends: , bytestring >= 0.10 && < 0.12 , containers >= 0.6 && < 0.7 , generics-sop >= 0.5 && < 0.6 , sop-core >= 0.5 && < 0.6 , text >= 1.2 && < 2.1 -- At least 0.13.0.0 necessary for re-exported PrimMonad and PrimState , vector >= 0.13 && < 0.14 , wide-word >= 0.1 && < 0.2 test-suite test-borsh import: lang type: exitcode-stdio-1.0 hs-source-dirs: test main-is: Main.hs other-modules: Test.Codec.Borsh.ExampleType.BTree Test.Codec.Borsh.ExampleType.NTree Test.Codec.Borsh.ExampleType.SimpleList Test.Codec.Borsh.ExampleType.SimpleStructs Test.Codec.Borsh.Roundtrip Test.Codec.Borsh.Size Test.Codec.Borsh.Util.Length Test.Codec.Borsh.Util.Orphans Test.Codec.Borsh.Util.QuickCheck Test.Codec.Borsh.Util.RandomType Test.Codec.Borsh.Util.SOP build-depends: , borsh , bytestring , containers , generics-sop , optics-core , profunctors , QuickCheck , quickcheck-instances , sop-core , tasty , tasty-quickcheck , text , wide-word