summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandru-Sergiu Marton <brown121407@gmail.com>2020-01-08 11:33:35 +0200
committerMarius Bakke <mbakke@fastmail.com>2020-03-29 22:34:45 +0200
commitec8491b0319f417529ea6075d63e5a7782dc69f9 (patch)
tree120dc4f9cc23a42adcae96567a4c0b8170a4d1a4
parentfbe32d46e802f3542a184340af06644dceb69943 (diff)
downloadpatches-ec8491b0319f417529ea6075d63e5a7782dc69f9.tar
patches-ec8491b0319f417529ea6075d63e5a7782dc69f9.tar.gz
gnu: Add ghc-basic-prelude.
* gnu/packages/haskell-xyz.scm (ghc-basic-prelude): New variable. Signed-off-by: Marius Bakke <mbakke@fastmail.com>
-rw-r--r--gnu/packages/haskell-xyz.scm39
1 files changed, 39 insertions, 0 deletions
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index 1e65581e59..4ade103671 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -907,6 +907,45 @@ stand for certain ASCII character sequences, i.e. → instead of @code{->},
∀ instead of @code{forall} and many others.")
(license license:bsd-3)))
+(define-public ghc-basic-prelude
+ (package
+ (name "ghc-basic-prelude")
+ (version "0.7.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/basic-prelude/"
+ "basic-prelude-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0yckmnvm6i4vw0mykj4fzl4ldsf67v8d2h0vp1bakyj84n4myx8h"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-hashable" ,ghc-hashable)
+ ("ghc-unordered-containers"
+ ,ghc-unordered-containers)
+ ("ghc-vector" ,ghc-vector)))
+ (home-page "https://github.com/snoyberg/basic-prelude#readme")
+ (synopsis "Enhanced core prelude; a common foundation for alternate preludes")
+ (description
+ "The premise of basic-prelude is that there are a lot of very commonly
+desired features missing from the standard Prelude, such as commonly used
+operators (<$> and >=>, for instance) and imports for common datatypes
+(e.g., ByteString and Vector). At the same time, there are lots of other
+components which are more debatable, such as providing polymorphic versions
+of common functions.
+
+So basic-prelude is intended to give a common foundation for a number of
+alternate preludes. The package provides two modules: CorePrelude provides
+the common ground for other preludes to build on top of, while BasicPrelude
+exports CorePrelude together with commonly used list functions to provide a
+drop-in replacement for the standard Prelude.
+
+Users wishing to have an improved Prelude can use BasicPrelude. Developers
+wishing to create a new prelude should use CorePrelude.")
+ (license license:expat)))
+
(define-public ghc-bifunctors
(package
(name "ghc-bifunctors")