diff options
author | Paul van der Walt <paul@denknerd.org> | 2015-10-15 15:43:24 +0200 |
---|---|---|
committer | Paul van der Walt <paul@denknerd.org> | 2015-10-23 09:10:52 +0200 |
commit | aee98223264974637987a7fca2c701c0954ffd79 (patch) | |
tree | cfe935313ded99b65bb78865838ef6b17d07cee0 /gnu/packages/haskell.scm | |
parent | f221841c69a168ec677b29f5c4cebda863c0fda8 (diff) | |
download | guix-patches-aee98223264974637987a7fca2c701c0954ffd79.tar guix-patches-aee98223264974637987a7fca2c701c0954ffd79.tar.gz |
gnu: Add ghc-semigroupoids.
* gnu/packages/haskell.scm (ghc-semigroupoids): New variable.
Diffstat (limited to 'gnu/packages/haskell.scm')
-rw-r--r-- | gnu/packages/haskell.scm | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index a499a6ad69..12c5a93f60 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -3038,6 +3038,44 @@ are implemented as FFI bindings to efficient code from zlib.") (description "This package provides bifunctors for Haskell.") (license bsd-3))) +(define-public ghc-semigroupoids + (package + (name "ghc-semigroupoids") + (version "5.0.0.4") + (source + (origin + (method url-fetch) + (uri (string-append + "http://hackage.haskell.org/package/semigroupoids/semigroupoids-" + version + ".tar.gz")) + (sha256 + (base32 + "1jf7jnfhdvl6p18wdr21yi2fim1xb8alcn6szhrdswj0dkilgq6d")))) + (build-system haskell-build-system) + (propagated-inputs + `(("ghc-base-orphans" ,ghc-base-orphans) + ("ghc-transformers-compat" ,ghc-transformers-compat) + ("ghc-bifunctors" ,ghc-bifunctors) + ("ghc-comonad" ,ghc-comonad) + ("ghc-contravariant" ,ghc-contravariant) + ("ghc-distributive" ,ghc-distributive))) + (arguments `(#:tests? #f)) ; FIXME: doctest packagedb propagation problem. + (inputs + `(("ghc-semigroups" ,ghc-semigroups) + ("ghc-tagged" ,ghc-tagged))) + (home-page "http://github.com/ekmett/semigroupoids") + (synopsis "Semigroupoids operations for Haskell") + (description "This library provides a wide array of (semi)groupoids and +operations for working with them. A @code{Semigroupoid} is a @code{Category} +without the requirement of identity arrows for every object in the category. +A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds. +Finally, to work with these weaker structures it is beneficial to have +containers that can provide stronger guarantees about their contents, so +versions of @code{Traversable} and @code{Foldable} that can be folded with +just a @code{Semigroup} are added.") + (license bsd-3))) + (define-public ghc-contravariant (package (name "ghc-contravariant") |