summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorrsiddharth <s@ricketyspace.net>2018-03-21 03:44:57 +0000
committerLudovic Courtès <ludo@gnu.org>2018-03-31 19:27:26 +0200
commite99bd15cbbae2da35ce4314b846f6368db3fd3ec (patch)
tree2925d60c2ba55ec9bf55f65bf02971ce1b706f43 /gnu/packages
parentff7dd11f0a4fd6ca947cfa40cec42628fde44667 (diff)
downloadguix-e99bd15cbbae2da35ce4314b846f6368db3fd3ec.tar.gz
gnu: Add ghc-generics-sop.
* gnu/packages/haskell.scm (ghc-generics-sop): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/haskell.scm23
1 files changed, 23 insertions, 0 deletions
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index 856d017686..e3a453a3b4 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -9077,4 +9077,27 @@ instances.  This package provides orphan instances for containers, text,
 bytestring and vector.")
     (license license:bsd-3)))
 
+(define-public ghc-generics-sop
+  (package
+    (name "ghc-generics-sop")
+    (version "0.3.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://hackage.haskell.org/package/"
+                           "generics-sop-" version "/"
+                           "generics-sop-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1bazlhgmxcwv7vd44jhdx74cnhmaz6yy47jxfycapjj4mjrnp0x7"))))
+    (build-system haskell-build-system)
+    (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)))
+    (home-page "https://github.com/well-typed/generics-sop")
+    (synopsis "Generic Programming using True Sums of Products for Haskell")
+    (description "This Haskell package supports the definition of generic
+functions.  Datatypes are viewed in a uniform, structured way: the choice
+between constructors is represented using an n-ary sum, and the arguments of
+each constructor are represented using an n-ary product.")
+    (license license:bsd-3)))
+
 ;;; haskell.scm ends here