summary refs log tree commit diff
path: root/gnu/packages
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 /gnu/packages
parentfbe32d46e802f3542a184340af06644dceb69943 (diff)
downloadguix-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>
Diffstat (limited to 'gnu/packages')
-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")