guix-commits
[Top][All Lists]
Advanced

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

03/05: gnu: Add ghc-quickcheck-classes.


From: guix-commits
Subject: 03/05: gnu: Add ghc-quickcheck-classes.
Date: Mon, 17 Jan 2022 14:30:06 -0500 (EST)

lbraun pushed a commit to branch master
in repository guix.

commit c1c2171158bf0cee44e326818c47651a4a02b1d8
Author: John Kehayias via Guix-patches via <guix-patches@gnu.org>
AuthorDate: Fri Dec 24 19:29:27 2021 +0000

    gnu: Add ghc-quickcheck-classes.
    
    * gnu/packages/haskell-check.scm (ghc-quickcheck-classes): New variable.
    
    Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
---
 gnu/packages/haskell-check.scm | 46 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm
index e647d65a89..62433cdb15 100644
--- a/gnu/packages/haskell-check.scm
+++ b/gnu/packages/haskell-check.scm
@@ -13,6 +13,7 @@
 ;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com>
 ;;; Copyright © 2020 John Soo <jsoo1@asu.edu>
 ;;; Copyright © 2020 Carlo Holl <carloholl@gmail.com>
+;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -32,6 +33,7 @@
 (define-module (gnu packages haskell-check)
   #:use-module (gnu packages)
   #:use-module (gnu packages haskell-crypto)
+  #:use-module (gnu packages haskell-web)
   #:use-module (gnu packages haskell-xyz)
   #:use-module (guix build-system haskell)
   #:use-module (guix download)
@@ -1056,6 +1058,50 @@ See the documentation in \"Test.Inspection\" or the 
project webpage for more
 examples and more information.")
     (license license:expat)))
 
+(define-public ghc-quickcheck-classes
+  (package
+    (name "ghc-quickcheck-classes")
+    (version "0.6.5.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append
+               
"https://hackage.haskell.org/package/quickcheck-classes/quickcheck-classes-";
+               version
+               ".tar.gz"))
+        (sha256
+          (base32 "19iw15mvb7gws3ljdxqwsbb4pmfc0sfflf8szgmrhiqr3k82mqv2"))))
+    (build-system haskell-build-system)
+    (inputs
+      (list ghc-quickcheck
+            ghc-primitive
+            ghc-primitive-addr
+            ghc-quickcheck-classes-base
+            ghc-aeson
+            ghc-semigroupoids
+            ghc-semirings
+            ghc-vector))
+    (native-inputs
+      (list ghc-base-orphans
+            ghc-tagged
+            ghc-base-orphans
+            ghc-tagged
+            ghc-tasty
+            ghc-tasty-quickcheck))
+    (home-page "https://github.com/andrewthad/quickcheck-classes#readme";)
+    (synopsis "QuickCheck common typeclasses")
+    (description
+      "This library provides QuickCheck properties to ensure that typeclass
+instances adhere to the set of laws that they are supposed to.  There are
+other libraries that do similar things, such as @code{genvalidity-hspec} and
+@code{checkers}.  This library differs from other solutions by not introducing
+any new typeclasses that the user needs to learn.  /Note:/ on GHC < 8.5, this
+library uses the higher-kinded typeclasses (@code{Data.Functor.Classes.Show1},
+@code{Data.Functor.Classes.Eq1}, @code{Data.Functor.Classes.Ord1}, etc.), but
+on GHC >= 8.5, it uses @code{-XQuantifiedConstraints} to express these
+constraints more cleanly.")
+    (license license:bsd-3)))
+
 (define-public ghc-quickcheck-classes-base
   (package
     (name "ghc-quickcheck-classes-base")



reply via email to

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