vext-0.1.0.0: vext.cabal
cabal-version: 3.4
name: vext
version: 0.1.0.0
synopsis: Array library monomorphized with backpack
bug-reports: https://github.com/andrewthad/vex-unified/issues
license: BSD-3-Clause
license-file: LICENSE
author: Andrew Martin
maintainer: andrew.thaddeus@gmail.com
copyright: 2019 Andrew Martin
category: Data
library indef
exposed-modules:
Vector
other-modules:
Core
signatures:
Element
Rep
build-depends:
, base >=4.12.0.0 && <5
, natural-arithmetic
, unlifted
hs-source-dirs: src-indef
default-language: Haskell2010
ghc-options: -O2 -Wall
library map-indef
exposed-modules:
MapVector
build-depends:
, base >=4.12.0.0 && <5
, natural-arithmetic
, unlifted
, vext:indef
mixins:
vext:indef (Vector as VectorA) requires
(Element as ElementA, Rep as RepA),
vext:indef (Vector as VectorB) requires
(Element as ElementB, Rep as RepB),
hs-source-dirs: src-map-indef
default-language: Haskell2010
ghc-options: -O2 -Wall
library zip-indef
exposed-modules:
ZipVector
build-depends:
, base >=4.12.0.0 && <5
, natural-arithmetic
, unlifted
, vext:indef
mixins:
vext:indef (Vector as VectorA) requires
(Element as ElementA, Rep as RepA),
vext:indef (Vector as VectorB) requires
(Element as ElementB, Rep as RepB),
vext:indef (Vector as VectorC) requires
(Element as ElementC, Rep as RepC),
hs-source-dirs: src-zip-indef
default-language: Haskell2010
ghc-options: -O2 -Wall
library type-eq-indef
exposed-modules:
TypeEqVector
signatures:
Element
Rep
Type
build-depends:
, base >=4.12.0.0 && <5
, natural-arithmetic
, unlifted
, vext:indef
hs-source-dirs: src-type-eq-indef
default-language: Haskell2010
ghc-options: -O2 -Wall
library rep-eq-indef
exposed-modules:
EqVector
signatures:
Element
Rep
build-depends:
, base >=4.12.0.0 && <5
, natural-arithmetic
, unlifted
, vext:indef
hs-source-dirs: src-rep-eq-indef
default-language: Haskell2010
ghc-options: -O2 -Wall
library ord-indef
exposed-modules:
OrdVector
signatures:
Element
Rep
build-depends:
, base >=4.12.0.0 && <5
, natural-arithmetic
, unlifted
, vext:indef
, vext:inst-bit
, vext:rep-eq-indef
hs-source-dirs: src-ord-indef
default-language: Haskell2010
ghc-options: -O2 -Wall
library mask-indef
exposed-modules:
MaskVector
signatures:
Element
Rep
build-depends:
, base >=4.12.0.0 && <5
, natural-arithmetic
, unlifted
, vext:indef
, vext:inst-bit
hs-source-dirs: src-mask-indef
default-language: Haskell2010
ghc-options: -O2 -Wall
-- Inherits the element signature
library permute-indef
exposed-modules:
PermuteVector
signatures:
Element
Rep
FinElement
FinType
build-depends:
, base >=4.12.0.0 && <5
, natural-arithmetic
, unlifted
, vext:indef
, vext:inst
mixins:
vext:indef (Vector as Vector) requires (Element as Element, Rep as Rep),
vext:indef (Vector as FinVector) requires (Element as FinElement, Rep as FinRep),
hs-source-dirs: src-permute-indef
default-language: Haskell2010
ghc-options: -O2 -Wall
library imp
other-modules:
EmptyPrimArray
exposed-modules:
Int
Int16
Int32
Int64
Lifted
ShortText
Unlifted
Word
Word1
Word16
Word32
Word64
Word128
Word8
build-depends:
, base >=4.12.0.0 && <5
, primitive >=0.7
, unlifted
hs-source-dirs: src-imp
default-language: Haskell2010
ghc-options: -O2 -Wall
library inst-bit
default-language: Haskell2010
ghc-options: -O2 -Wall
reexported-modules:
, Vector.Std.Word1
, Vector.Eq.Word1
build-depends:
, vext:imp
, vext:indef
, vext:rep-eq-indef
, primitive >=0.7
mixins:
vext:indef (Vector as Vector.Std.Word1) requires (Element as Word1, Rep as Word1),
vext:rep-eq-indef (EqVector as Vector.Eq.Word1) requires (Element as Word1, Rep as Word1),
library inst
default-language: Haskell2010
ghc-options: -O2 -Wall
reexported-modules:
, Vector.Std.Lifted
, Vector.Std.Word
, Vector.Std.Word8
, Vector.Std.Word16
, Vector.Std.Word32
, Vector.Std.Word64
, Vector.Std.Word128
, Vector.Std.Int16
, Vector.Std.Int32
, Vector.Std.Int
, Vector.Eq.Int
, Vector.Ord.Int
, Vector.Ord.Int16
, Vector.Ord.Int32
, Vector.Ord.Word8
, Vector.Ord.Word16
, Vector.Eq.Int16
, Vector.Eq.Word8
, Vector.Eq.Word16
, Vector.Eq.Int32
, Vector.Masked.Word128
, Vector.Masked.Word16
, Vector.Masked.Int64
, Vector.Masked.Unlifted
, Vector.Std.Int64
, Vector.Ord.Int64
, Vector.Std.Unlifted
, Vector.Map.Unlifted.Int32
, Vector.Map.Word16.Lifted
, Vector.Map.Unlifted.Lifted
, Vector.Map.Lifted.Int32
, Vector.Map.Lifted.Lifted
, Vector.Map.Lifted.Unlifted
, Vector.Zip.Unlifted.Word32.Lifted
, Vector.Zip.Unlifted.Lifted.Lifted
, Vector.Zip.Word16.Lifted.Lifted
, Vector.Zip.Lifted.Word16.Lifted
, Vector.Zip.Bit.Bit.Bit
build-depends:
, vext:imp
, vext:indef
, vext:map-indef
, vext:zip-indef
, vext:ord-indef
, vext:rep-eq-indef
, vext:type-eq-indef
, vext:mask-indef
, primitive >=0.7
mixins:
vext:indef (Vector as Vector.Std.Word) requires (Element as Word, Rep as Word),
vext:indef (Vector as Vector.Std.Word8) requires (Element as Word8, Rep as Word8),
vext:indef (Vector as Vector.Std.Word16) requires (Element as Word16, Rep as Word16),
vext:indef (Vector as Vector.Std.Word32) requires (Element as Word32, Rep as Word32),
vext:indef (Vector as Vector.Std.Word64) requires (Element as Word64, Rep as Word64),
vext:indef (Vector as Vector.Std.Word128) requires (Element as Word128, Rep as Word128),
vext:indef (Vector as Vector.Std.Int32) requires (Element as Int32, Rep as Int32),
vext:indef (Vector as Vector.Std.Int16) requires (Element as Int16, Rep as Int16),
vext:indef (Vector as Vector.Std.Int) requires (Element as Int, Rep as Int),
vext:indef (Vector as Vector.Std.Int64) requires (Element as Int64, Rep as Int64),
vext:mask-indef (MaskVector as Vector.Masked.Word128) requires (Element as Word128, Rep as Word128),
vext:mask-indef (MaskVector as Vector.Masked.Int64) requires (Element as Int64, Rep as Int64),
vext:mask-indef (MaskVector as Vector.Masked.Word16) requires (Element as Word16, Rep as Word16),
vext:mask-indef (MaskVector as Vector.Masked.Unlifted) requires (Element as Unlifted, Rep as Unlifted),
vext:zip-indef (ZipVector as Vector.Zip.Bit.Bit.Bit) requires
(ElementA as Word1, RepA as Word1, ElementB as Word1, RepB as Word1, ElementC as Word1, RepC as Word1),
vext:zip-indef (ZipVector as Vector.Zip.Lifted.Word16.Lifted) requires
(ElementA as Lifted, RepA as Lifted, ElementB as Word16, RepB as Word16, ElementC as Lifted, RepC as Lifted),
vext:zip-indef (ZipVector as Vector.Zip.Unlifted.Word32.Lifted) requires
(ElementA as Unlifted, RepA as Unlifted, ElementB as Word32, RepB as Word32, ElementC as Lifted, RepC as Lifted),
vext:zip-indef (ZipVector as Vector.Zip.Unlifted.Lifted.Lifted) requires
(ElementA as Unlifted, RepA as Unlifted, ElementB as Lifted, RepB as Lifted, ElementC as Lifted, RepC as Lifted),
vext:zip-indef (ZipVector as Vector.Zip.Word16.Lifted.Lifted) requires
(ElementA as Word16, RepA as Word16, ElementB as Lifted, RepB as Lifted, ElementC as Lifted, RepC as Lifted),
vext:map-indef (MapVector as Vector.Map.Unlifted.Int32) requires
(ElementA as Unlifted, RepA as Unlifted, ElementB as Int32, RepB as Int32),
vext:map-indef (MapVector as Vector.Map.Lifted.Int32) requires
(ElementA as Lifted, RepA as Lifted, ElementB as Int32, RepB as Int32),
vext:map-indef (MapVector as Vector.Map.Lifted.Lifted) requires
(ElementA as Lifted, RepA as Lifted, ElementB as Lifted, RepB as Lifted),
vext:map-indef (MapVector as Vector.Map.Lifted.Unlifted) requires
(ElementA as Lifted, RepA as Lifted, ElementB as Unlifted, RepB as Unlifted),
vext:map-indef (MapVector as Vector.Map.Unlifted.Lifted) requires
(ElementA as Unlifted, RepA as Unlifted, ElementB as Lifted, RepB as Lifted),
vext:map-indef (MapVector as Vector.Map.Word16.Lifted) requires
(ElementA as Word16, RepA as Word16, ElementB as Lifted, RepB as Lifted),
vext:indef (Vector as Vector.Std.Lifted) requires (Element as Lifted, Rep as Lifted),
vext:indef (Vector as Vector.Std.Unlifted) requires (Element as Unlifted, Rep as Unlifted),
vext:type-eq-indef (TypeEqVector as Vector.Std.Unlifted.Eq.ShortText)
requires (Element as Unlifted, Rep as Unlifted, Type as ShortText),
vext:ord-indef (OrdVector as Vector.Ord.Int) requires (Element as Int, Rep as Int),
vext:ord-indef (OrdVector as Vector.Ord.Int16) requires (Element as Int16, Rep as Int16),
vext:ord-indef (OrdVector as Vector.Ord.Word8) requires (Element as Word8, Rep as Word8),
vext:ord-indef (OrdVector as Vector.Ord.Word16) requires (Element as Word16, Rep as Word16),
vext:ord-indef (OrdVector as Vector.Ord.Int32) requires (Element as Int32, Rep as Int32),
vext:ord-indef (OrdVector as Vector.Ord.Int64) requires (Element as Int64, Rep as Int64),
vext:rep-eq-indef (EqVector as Vector.Eq.Int) requires (Element as Int, Rep as Int),
vext:rep-eq-indef (EqVector as Vector.Eq.Int32) requires (Element as Int32, Rep as Int32),
vext:rep-eq-indef (EqVector as Vector.Eq.Int16) requires (Element as Int16, Rep as Int16),
vext:rep-eq-indef (EqVector as Vector.Eq.Word8) requires (Element as Word8, Rep as Word8),
vext:rep-eq-indef (EqVector as Vector.Eq.Word16) requires (Element as Word16, Rep as Word16),
library pair-indef
exposed-modules:
Element
Rep
signatures:
ElementA
ElementB
RepA
RepB
build-depends:
, base >=4.12.0.0 && <5
hs-source-dirs: src-pair-indef
default-language: Haskell2010
ghc-options: -O2 -Wall
-- library triple-indef
-- exposed-modules:
-- Element
-- Rep
-- signatures:
-- ElementA
-- ElementB
-- ElementC
-- RepA
-- RepB
-- RepC
-- build-depends:
-- , base >=4.12.0.0 && <5
-- hs-source-dirs: src-triple-indef
-- default-language: Haskell2010
-- ghc-options: -O2 -Wall
library pair-array-inst
default-language: Haskell2010
ghc-options: -O2 -Wall
reexported-modules:
, Element.Pair.Lifted.Word8
, Element.Pair.Word8.Word8
build-depends:
, vext:inst
, vext:imp
, vext:pair-indef
mixins:
vext:pair-indef (Element as Element.Pair.Lifted.Word8) requires
(ElementA as Lifted, ElementB as Word8, RepA as Lifted, RepB as Word8),
vext:pair-indef (Element as Element.Pair.Word8.Word8) requires
(ElementA as Word8, ElementB as Word8, RepA as Word8, RepB as Word8),
library pair-inst
default-language: Haskell2010
ghc-options: -O2 -Wall
reexported-modules:
, Vector.Pair.Word8.Lifted
, Vector.Pair.Word8.Word8
build-depends:
, vext:pair-array-inst
, vext:indef
mixins:
vext:indef (Vector as Vector.Pair.Word8.Lifted) requires
(Element as Element.Pair.Lifted.Word8, Rep as Element.Pair.Lifted.Word8),
vext:indef (Vector as Vector.Pair.Word8.Word8) requires
(Element as Element.Pair.Word8.Word8, Rep as Element.Pair.Word8.Word8),
library
hs-source-dirs: src
default-language: Haskell2010
ghc-options: -O2 -Wall
reexported-modules:
, Vector.Pair.Word8.Lifted
, Vector.Pair.Word8.Word8
, Vector.Std.Lifted
, Vector.Std.Unlifted
, Vector.Std.Int32
, Vector.Ord.Int32
, Vector.Std.Word16
, Vector.Std.Word32
, Vector.Std.Word8
, Vector.Std.Word
, Vector.Map.Lifted.Int32
, Vector.Map.Lifted.Lifted
, Vector.Map.Lifted.Unlifted
, Vector.Map.Word16.Lifted
, Vector.Map.Unlifted.Lifted
, Vector.Zip.Unlifted.Word32.Lifted
, Vector.Zip.Unlifted.Lifted.Lifted
, Vector.Zip.Word16.Lifted.Lifted
, Vector.Zip.Lifted.Word16.Lifted
exposed-modules:
Vector.Bit
Vector.Word
Vector.Word8
Vector.Word16
Vector.Word32
Vector.Word128
Vector.Word128.Masked
Vector.Int
Vector.Int16
Vector.Int32
Vector.Int64
Vector.Int64.Masked
Vector.Word16.Masked
Vector.Lifted
Vector.Unlifted
Vector.Unlifted.ByteArray
Vector.Unlifted.ShortText
Vector.Unlifted.Masked
build-depends:
, base >=4.12.0.0 && <5
, vext:inst
, vext:pair-inst
, vext:inst-bit
, natural-arithmetic
, primitive >=0.8
, run-st >=0.1.3
, transformers >=0.6.1
, unlifted
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.0.0 && <5
, byteslice
, vext
, tasty >=1.2.3
, tasty-quickcheck >=0.10
, natural-arithmetic
, unlifted