[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/25: gnu: Add ghc-inspection-testing.
From: |
guix-commits |
Subject: |
01/25: gnu: Add ghc-inspection-testing. |
Date: |
Fri, 29 May 2020 11:00:56 -0400 (EDT) |
lfam pushed a commit to branch master
in repository guix.
commit 29e1553344864db55de6af225b16ac74d84a078a
Author: John Soo <jsoo1@asu.edu>
AuthorDate: Fri Apr 10 21:04:11 2020 -0700
gnu: Add ghc-inspection-testing.
* gnu/packages/haskell-check.scm (ghc-inspection-testing): New variable.
Signed-off-by: Leo Famulari <leo@famulari.name>
---
gnu/packages/haskell-check.scm | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm
index d571d46..bb7f57b 100644
--- a/gnu/packages/haskell-check.scm
+++ b/gnu/packages/haskell-check.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2018 Tonton <tonton@riseup.net>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com>
+;;; Copyright © 2020 John Soo <jsoo1@asu.edu>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -996,3 +997,43 @@ values (similar to @code{toEnum} but for any algebraic
data type). This
can be used for SmallCheck-style systematic testing, QuickCheck-style
random testing, and hybrids of the two.")
(license license:bsd-3)))
+
+(define-public ghc-inspection-testing
+ (package
+ (name "ghc-inspection-testing")
+ (version "0.4.2.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/inspection-testing/"
+ "inspection-testing-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1bppz99p6ix6hah8lbr9mapl2zxgmkg9i7h6hk8wq6zf54hwz3yp"))))
+ (build-system haskell-build-system)
+ (home-page
+ "https://github.com/nomeata/inspection-testing")
+ (synopsis "GHC plugin to do inspection testing")
+ (description
+ "Some carefully crafted libraries make promises to their users beyond
+functionality and performance.
+
+Examples are: Fusion libraries promise intermediate data structures to be
+eliminated. Generic programming libraries promise that the generic
+implementation is identical to the hand-written one. Some libraries may
+promise allocation-free or branch-free code.
+
+Conventionally, the modus operandi in all these cases is that the library
+author manually inspects the (intermediate or final) code produced by the
+compiler. This is not only tedious, but makes it very likely that some change,
+either in the library itself or the surrounding eco-system, breaks the
+library's promised without anyone noticing.
+
+This package provides a disciplined way of specifying such properties, and
+have them checked by the compiler. This way, this checking can be part of the
+ususal development cycle and regressions caught early.
+
+See the documentation in \"Test.Inspection\" or the project webpage for more
+examples and more information.")
+ (license license:expat)))
- 22/25: gnu: Add ghc-prettyprinter-ansi-terminal., (continued)
- 22/25: gnu: Add ghc-prettyprinter-ansi-terminal., guix-commits, 2020/05/29
- 18/25: gnu: Add ghc-repline., guix-commits, 2020/05/29
- 19/25: gnu: Add ghc-haskeline-0.8., guix-commits, 2020/05/29
- 09/25: gnu: Add ghc-special-values., guix-commits, 2020/05/29
- 21/25: gnu: Add ghc-prettyprinter-1.6., guix-commits, 2020/05/29
- 11/25: gnu: Add ghc-pretty-simple., guix-commits, 2020/05/29
- 15/25: gnu: Add ghc-managed., guix-commits, 2020/05/29
- 23/25: gnu: Add ghc-generic-random-1.3.0.1., guix-commits, 2020/05/29
- 16/25: gnu: Add ghc-lens-family-core., guix-commits, 2020/05/29
- 17/25: gnu: Add ghc-prettyprinter., guix-commits, 2020/05/29
- 01/25: gnu: Add ghc-inspection-testing.,
guix-commits <=
- 20/25: gnu: Add ghc-repline-0.3., guix-commits, 2020/05/29
- 07/25: gnu: Add ghc-text-manipulate., guix-commits, 2020/05/29
- 10/25: gnu: Add ghc-serialise., guix-commits, 2020/05/29
- 25/25: gnu: Add dhall., guix-commits, 2020/05/29
- 05/25: gnu: Add ghc-dotgen., guix-commits, 2020/05/29
- 13/25: gnu: Add ghc-optional-args., guix-commits, 2020/05/29
- 12/25: gnu: Add ghc-pgp-wordlist., guix-commits, 2020/05/29
- 14/25: gnu: Add ghc-turtle., guix-commits, 2020/05/29
- 24/25: gnu: Add ghc-atomic-write-0.2.0.7., guix-commits, 2020/05/29