summary refs log tree commit diff
path: root/gnu/packages/haskell-xyz.scm
diff options
context:
space:
mode:
authorJohn Soo <jsoo1@asu.edu>2019-07-07 17:35:45 -0700
committerTimothy Sample <samplet@ngyro.com>2019-09-02 23:09:38 -0400
commitbc06ca458865cdf7a3b971ac34ae2f92f75c6964 (patch)
tree25fe7f7544171096555e5754f3823e213ae827e2 /gnu/packages/haskell-xyz.scm
parent7bbfa3926e48e366126f6500e3d7ef1097c4ffcb (diff)
downloadguix-bc06ca458865cdf7a3b971ac34ae2f92f75c6964.tar.gz
gnu: Add ghc-storablevector.
* gnu/packages/haskell-xyz.scm (ghc-storablevector): New variable.

Signed-off-by: Timothy Sample <samplet@ngyro.com>
Diffstat (limited to 'gnu/packages/haskell-xyz.scm')
-rw-r--r--gnu/packages/haskell-xyz.scm38
1 files changed, 38 insertions, 0 deletions
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index b2cee24471..b67754b1b9 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -9361,6 +9361,44 @@ Storable instance for Complex which is binary compatible with C99, C++
 and Fortran complex data types.")
     (license license:bsd-3)))
 
+(define-public ghc-storablevector
+  (package
+    (name "ghc-storablevector")
+    (version "0.2.13")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append
+         "https://hackage.haskell.org/package/storablevector/storablevector-"
+         version ".tar.gz"))
+       (sha256
+        (base32
+         "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-non-negative" ,ghc-non-negative)
+       ("ghc-utility-ht" ,ghc-utility-ht)
+       ("ghc-semigroups" ,ghc-semigroups)
+       ("ghc-unsafe" ,ghc-unsafe)
+       ("ghc-quickcheck" ,ghc-quickcheck)
+       ("ghc-syb" ,ghc-syb)))
+    (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
+    (synopsis "Fast, packed, strict storable arrays with a list interface")
+    (description "This library provides fast, packed, strict storable
+arrays with a list interface, a chunky lazy list interface with variable
+chunk size and an interface for write access via the ST monad.  This is
+much like bytestring and binary but can be used for every
+@code{Foreign.Storable.Storable} type.  See also
+@url{http://hackage.haskell.org/package/vector}, a library with a
+similar intention.
+
+This library does not do advanced fusion optimization, since especially
+for lazy vectors this would either be incorrect or not applicable.  See
+@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
+a library that provides fusion with lazy lists.")
+    (license license:bsd-3)))
+
 (define-public ghc-streaming-commons
   (package
     (name "ghc-streaming-commons")