aboutsummaryrefslogtreecommitdiff
path: root/ox-arrays.cabal
diff options
context:
space:
mode:
Diffstat (limited to 'ox-arrays.cabal')
-rw-r--r--ox-arrays.cabal45
1 files changed, 29 insertions, 16 deletions
diff --git a/ox-arrays.cabal b/ox-arrays.cabal
index 7af096c..3a92f6e 100644
--- a/ox-arrays.cabal
+++ b/ox-arrays.cabal
@@ -6,6 +6,10 @@ description:
An efficient and richly typed CPU-based multidimensional array (tensor)
library built upon the optimized tensor representation (strides list)
implemented in the orthotope package. See the README.
+
+ If you use this package: let me know (e.g. via email) if you find it useful!
+ Both positive feedback (keep this!) and negative feedback (I needed this but
+ ox-arrays doesn't provide it) is welcome.
copyright: (c) 2025 Tom Smeding, Mikolaj Konarski
author: Tom Smeding, Mikolaj Konarski
maintainer: Tom Smeding <xhackage@tomsmeding.com>
@@ -13,6 +17,7 @@ license: BSD-3-Clause
category: Array, Tensors
build-type: Simple
+extra-doc-files: README.md CHANGELOG.md
extra-source-files: cbits/arith_lists.h
flag trace-wrappers
@@ -20,7 +25,7 @@ flag trace-wrappers
Compile modules that define wrappers around the array methods that trace
their arguments and results. This is conditional on a flag because these
modules make documentation generation fail.
- (https://gitlab.haskell.org/ghc/ghc/-/issues/24964 , should be fixed in
+ (@https://gitlab.haskell.org/ghc/ghc/-/issues/24964@ , should be fixed in
GHC 9.12)
default: False
manual: True
@@ -50,7 +55,12 @@ flag default-show-instances
default: False
manual: True
+common basics
+ default-language: Haskell2010
+ ghc-options: -Wall -Wcompat -Widentities -Wunused-packages
+
library
+ import: basics
exposed-modules:
-- put this module on top so ghci considers it the "main" module
Data.Array.Nested
@@ -58,6 +68,7 @@ library
Data.Array.Nested.Convert
Data.Array.Nested.Mixed
Data.Array.Nested.Mixed.Shape
+ Data.Array.Nested.Mixed.Shape.Internal
Data.Array.Nested.Lemmas
Data.Array.Nested.Permutation
Data.Array.Nested.Ranked
@@ -70,6 +81,11 @@ library
Data.Array.Strided.Orthotope
Data.Array.XArray
Data.Bag
+ Data.Vector.Generic.Checked
+
+ if impl(ghc < 9.8)
+ exposed-modules:
+ GHC.TypeLits.Orphans
if flag(trace-wrappers)
exposed-modules:
@@ -87,14 +103,14 @@ library
ghc-typelits-knownnat,
ghc-typelits-natnormalise,
orthotope < 0.2,
- vector
+ template-haskell,
+ vector,
+ vector-stream
hs-source-dirs: src
-
- default-language: Haskell2010
- ghc-options: -Wall -Wcompat -Widentities -Wunused-packages
other-extensions: TemplateHaskell
library strided-array-ops
+ import: basics
exposed-modules:
Data.Array.Strided
Data.Array.Strided.Array
@@ -104,9 +120,11 @@ library strided-array-ops
Data.Array.Strided.Arith.Internal.Lists
Data.Array.Strided.Arith.Internal.Lists.TH
build-depends:
- base >=4.18 && <4.22,
- ghc-typelits-knownnat < 1,
- ghc-typelits-natnormalise < 1,
+ base >=4.18 && <4.23,
+ ghc-typelits-knownnat >= 0.8.0 && < 1
+ -- 0.9.0 is unsound: https://github.com/clash-lang/ghc-typelits-natnormalise/issues/105
+ && (< 0.9.0 || > 0.9.0),
+ ghc-typelits-natnormalise >= 0.8.1 && < 1,
template-haskell < 3,
vector < 0.14
hs-source-dirs: ops
@@ -121,11 +139,10 @@ library strided-array-ops
-- hmatrix assumes sse2, so we can too
cc-options: -msse2
- default-language: Haskell2010
- ghc-options: -Wall -Wcompat -Widentities -Wunused-packages
other-extensions: TemplateHaskell
test-suite test
+ import: basics
type: exitcode-stdio-1.0
main-is: Main.hs
other-modules:
@@ -146,20 +163,18 @@ test-suite test
tasty-hedgehog,
vector
hs-source-dirs: test
- default-language: Haskell2010
- ghc-options: -Wall -Wcompat -Widentities -Wunused-packages
test-suite example
+ import: basics
type: exitcode-stdio-1.0
main-is: Main.hs
build-depends:
ox-arrays,
base
hs-source-dirs: example
- default-language: Haskell2010
- ghc-options: -Wall -Wcompat -Widentities -Wunused-packages
benchmark bench
+ import: basics
type: exitcode-stdio-1.0
main-is: Main.hs
build-depends:
@@ -171,8 +186,6 @@ benchmark bench
tasty-bench,
vector
hs-source-dirs: bench
- default-language: Haskell2010
- ghc-options: -Wall -Wcompat -Widentities -Wunused-packages
source-repository head
type: git