From bc06ca458865cdf7a3b971ac34ae2f92f75c6964 Mon Sep 17 00:00:00 2001 From: John Soo Date: Sun, 7 Jul 2019 17:35:45 -0700 Subject: gnu: Add ghc-storablevector. * gnu/packages/haskell-xyz.scm (ghc-storablevector): New variable. Signed-off-by: Timothy Sample --- gnu/packages/haskell-xyz.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) 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") -- cgit v1.2.3