Prelude: A Prelude module replacement
This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.
This package provides a Prelude module drop-in replacement for base's Prelude
module.
Goals of this package include:
Be reasonably modest and remain close in spirit to the
base
package's scopeDepend only on
base
(viabase-noprelude
) for recent GHC versionsAvoid partial functions being in scope by default; redefine common partial functions such as
read
orhead
to beMaybe
-valuedProvide a uniform Prelude across multiple GHC releases (currently GHC 7.0 and newer supported) to the extent possible given typeclass restructurings such as AMP or FTP
Reduce
import
clutter by reexporting common verbs from modules such asControl.Monad
andControl.Applicative
Versioning and Usage
This package is intended to be used in combination with base-noprelude and
possibly base-orphans. Prelude
strives to be faithful to
the PVP; however, for technical reasons Prelude
's API is not fully determined by its version due to changes in core typeclasses and consequently it's strongly advised to declare a dependency on Prelude
always in conjunction with a dependency on base-noprelude
.
For instance, all you need to do in order to use this package if you were previously depending on base via
build-depends: base (>= 4.3.0.0 && < 4.11) || ^>= 4.11.0.0
is to replace base
by base-noprelude
and also add a dependency on Prelude
like so
build-depends: Prelude ^>= 0.1.0.0 , base-noprelude (>= 4.3.0.0 && < 4.11) || ^>= 4.11.0.0
and this will effectively replace the implicit Prelude module.
Alternatively, if you only intend to support GHC 7.10 and newer, you can make use mixins
like so
build-depends: Prelude ^>= 0.1.0.0 , base (>= 4.8.0.0 && < 4.12) || ^>= 4.12.0.0 mixins: base hiding (Prelude)
Properties
Versions | 0.1.0.0, 0.1.0.1, 0.1.0.1 |
---|---|
Change log | None available |
Dependencies | base (>=4.3 && <4.13), fail (>=4.9 && <4.10), ghc-prim (>=0.2 && <0.3), semigroups (>=0.18.5 && <0.19), transformers (>=0.3.0.0 && <0.6) [details] |
License | BSD-3-Clause |
Copyright | 2017-2018 Herbert Valerio Riedel |
Author | Herbert Valerio Riedel |
Maintainer | hvr@gnu.org |
Category | Prelude |
Bug tracker | https://github.com/hvr/Prelude/issues |
Source repo | head: git clone https://github.com/hvr/Prelude.git |
Uploaded | by HerbertValerioRiedel at 2018-08-29T17:00:10Z |
Modules
[Index] [Quick Jump]
Downloads
- Prelude-0.1.0.1.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
Package maintainers
For package maintainers and hackage trustees