summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorrsiddharth <s@ricketyspace.net>2017-10-18 03:07:54 +0000
committerLudovic Courtès <ludo@gnu.org>2017-10-22 15:32:18 -0700
commited4cc0c5e91a00cc702f0ccfedefdb65225ffbce (patch)
tree6fb523e194b62e517bb525a14f7e7fd77c732470 /gnu
parentf6094850d0893ad27a513a0381028ce1f5fb93c7 (diff)
gnu: Add ghc-mono-traversable.
* gnu/packages/haskell.scm (ghc-mono-traversable): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/haskell.scm35
1 files changed, 35 insertions, 0 deletions
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index e9660431ca..0d2bd36686 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -9964,4 +9964,39 @@ to derive new folds. Derived folds still traverse the container just once
and are often as efficient as hand-written folds.")
(license license:bsd-3)))
+(define-public ghc-mono-traversable
+ (package
+ (name "ghc-mono-traversable")
+ (version "1.0.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "mono-traversable-" version "/"
+ "mono-traversable-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0smirpwika7d5a98h20jr9jqg41n7vqfy7k31crmn449qfig9ljf"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-hashable" ,ghc-hashable)
+ ("ghc-text" ,ghc-text)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-vector-algorithms" ,ghc-vector-algorithms)
+ ("ghc-split" ,ghc-split)))
+ (native-inputs `(("ghc-hspec" ,ghc-hspec)
+ ("ghc-hunit",ghc-hunit)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-semigroups" ,ghc-semigroups)
+ ("ghc-foldl" ,ghc-foldl)))
+ (home-page "https://github.com/snoyberg/mono-traversable")
+ (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
+containers")
+ (description "This Haskell package provides Monomorphic variants of the
+Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
+basic typeclasses, you understand mono-traversable. In addition to what
+you are used to, it adds on an IsSequence typeclass and has code for marking
+data structures as non-empty.")
+ (license license:expat)))
+
;;; haskell.scm ends here