cabal-version: 2.2 name: byte-containers version: 0.1.0.1 synopsis: Sets and maps with 8-bit words for keys description: This library provides variant of @Data.Map@ and @Data.Set@ from the @containers@ library where the key is specialized to @Word8@. Internally, this uses a 256-bit bitmask for the presence of keys and a @SmallArray@ of values of keys that were present. For example, the map @{2 => Z, 3 => B, 5 => X, 9 => A}@ would be repsented in memory as: . > Bitmask: 0011010001000000... (240 more zero bits) > Value Array: Z,B,X,A . This is optimized for reads. Lookup is @O(1)@. Union is technically @O(1)@ but only because the universe of keys is finite. The current implementation always scans through all 256 bits of key space. homepage: https://github.com/byteverse/byte-containers bug-reports: https://github.com/byteverse/byte-containers/issues license: BSD-3-Clause license-file: LICENSE author: Andrew Martin maintainer: amartin@layer3com.com copyright: 2020 Andrew Martin category: Data build-type: Simple extra-doc-files: CHANGELOG.md library build-depends: , base >=4.12 && <5 , primitive >=0.7 && <0.10 , run-st >=0.1 && <0.2 , wide-word >=0.1.1 && <0.2 hs-source-dirs: src default-language: Haskell2010 exposed-modules: Data.Map.Word8 Data.Set.Word8 ghc-options: -Wall -O2 test-suite test default-language: Haskell2010 type: exitcode-stdio-1.0 hs-source-dirs: test main-is: Main.hs ghc-options: -Wall -O2 build-depends: , base >=4.12 && <5 , byte-containers , byteslice >=0.2.9 && <0.3 , primitive >=0.7 && <0.10 , quickcheck-classes >=0.6.4 , tasty , tasty-quickcheck source-repository head type: git location: git://github.com/byteverse/byte-containers.git