GNU bug report logs -
#28884
[PATCH 00/38] Add ghc-aws and its dependencies.
Previous Next
Reported by: rsiddharth <s <at> ricketyspace.net>
Date: Wed, 18 Oct 2017 03:04:01 UTC
Severity: normal
Tags: patch
Done: ludo <at> gnu.org (Ludovic Courtès)
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
* gnu/packages/haskell.scm (ghc-vector-builder): New variable.
---
gnu/packages/haskell.scm | 57 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 57 insertions(+)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 129f1792e..682f2da1e 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -9981,4 +9981,61 @@ The package is intended to rapidly evolve with the contribution from
the community, with the missing features being added with pull-requests.")
(license license:expat)))
+(define-public ghc-vector-builder
+ (package
+ (name "ghc-vector-builder")
+ (version "0.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "vector-builder-" version "/"
+ "vector-builder-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1l6sfgd2s107zkp1qd1w6jdjcbznp31769qf99pxar087f697wvp"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-vector" ,ghc-vector)
+ ("ghc-semigroups" ,ghc-semigroups)
+ ("ghc-base-prelude" ,ghc-base-prelude)))
+ (native-inputs `(("ghc-tasty" ,ghc-tasty)
+ ("ghc-tasty-hunit" ,ghc-tasty-hunit)
+ ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
+ ("ghc-rebase" ,ghc-rebase)))
+ (home-page "https://github.com/nikita-volkov/vector-builder")
+ (synopsis "Vector builder for Haskell")
+ (description "This Haskell package provides an API for constructing vectors.
+
+It provides the composable @code{Builder} abstraction, which has instances of the
+@code{Monoid} and @code{Semigroup} classes.
+
+Usage:
+
+First you use the @code{Builder} abstraction to specify the structure of the
+vector. Then you execute the builder to actually produce the vector.
+
+Example:
+
+The following code shows how you can efficiently concatenate different
+datastructures into a single immutable vector:
+
+@verbatim
+import qualified Data.Vector as A
+import qualified VectorBuilder.Builder as B
+import qualified VectorBuilder.Vector as C
+
+myVector :: A.Vector a -> [a] -> a -> A.Vector a
+myVector vector list element =
+ C.build builder
+ where
+ builder =
+ B.vector vector <>
+ foldMap B.singleton list <>
+ B.singleton element
+@end verbatim
+")
+ (license license:expat)))
+
;;; haskell.scm ends here
--
2.15.0.rc0
This bug report was last modified 7 years and 272 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.