guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

13/20: gnu: Add ghc-dependent-sum.


From: guix-commits
Subject: 13/20: gnu: Add ghc-dependent-sum.
Date: Fri, 7 Jul 2023 09:31:46 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit 6b10501defee25e6ea87ed597d5a344a4e7410bf
Author: zamfofex <zamfofex@twdb.moe>
AuthorDate: Wed Jun 14 09:48:52 2023 -0300

    gnu: Add ghc-dependent-sum.
    
    * gnu/packages/haskell-xyz.scm (ghc-dependent-sum): New variable.
    
    Signed-off-by: Ludovic Courtès <ludo@gnu.org>
---
 gnu/packages/haskell-xyz.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index a4c1ba2544..a546cd2a4b 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -13165,6 +13165,34 @@ and high speed.")
 arguments to mappend does not matter.")
     (license license:bsd-3)))
 
+(define-public ghc-dependent-sum
+  (package
+    (name "ghc-dependent-sum")
+    (version "0.7.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri (hackage-uri "dependent-sum" version))
+              (sha256
+               (base32
+                "1frw5965v8i6xqdgs95gg8asgdqcqnmfahz0pmbwiaw5ybn62rc2"))))
+    (build-system haskell-build-system)
+    (properties '((upstream-name . "dependent-sum")))
+    (inputs (list ghc-constraints-extras ghc-some))
+    (arguments
+     `(#:cabal-revision ("1"
+                         
"0qybk8x6gyvg8pgf84mywlfajlcvg9pp4rs1wfn9fa7ns6sms88n")))
+    (home-page "https://github.com/obsidiansystems/dependent-sum";)
+    (synopsis "Dependent sum type")
+    (description
+     "This package provides a dependent sum is a generalization of a
+particular way of thinking about the @code{Either} type.  @code{Either a b}
+can be thought of as a 2-tuple @code{(tag, value)}, where the value of the tag
+determines the type of the value.  In particular, either @code{tag = Left} and
+@code{value :: a} or @code{tag = Right} and @code{value :: b}.  This package
+allows you to define your own dependent sum types by using your own \"tag\"
+types.")
+    (license license:public-domain)))
+
 (define-public ghc-unsafe
   (package
     (name "ghc-unsafe")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]