* gnu/packages/haskell.scm (ghc-semigroupoids): New variable.
---
gnu/packages/haskell.scm | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index cd83b04..88944dc 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -3143,6 +3143,46 @@ are implemented as FFI bindings to efficient code from
zlib.")
(description "Bifunctors")
(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: test framework unavailable
+ (inputs
+ `(("ghc-semigroups" ,ghc-semigroups)
+ ("ghc-tagged" ,ghc-tagged)
+ ("ghc-doctest" ,ghc-doctest)))
+ (home-page
+ "http://github.com/ekmett/semigroupoids")
+ (synopsis "Semigroupoids: Category sans id")
+ (description
+ "Provides a wide array of (semi)groupoids and operations for working with
+them. A 'Semigroupoid' is a 'Category' without the requirement of identity
+arrows for every object in the category. A 'Category' is any '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 'Traversable' and 'Foldable'
+that can be folded with just a 'Semigroup' are added.")
+ (license bsd-3)))
+
(define-public ghc-contravariant
(package
(name "ghc-contravariant")
--
2.6.1