Prelude-0.1.0.0: Prelude.cabal
cabal-version: >=1.10
name: Prelude
version: 0.1.0.0
license: BSD3
license-file: LICENSE
author: Herbert Valerio Riedel
copyright: 2017-2018 Herbert Valerio Riedel
maintainer: hvr@gnu.org
bug-reports: https://github.com/hvr/Prelude/issues
category: Prelude
build-type: Simple
synopsis: A Prelude module replacement
description:
This package provides a "Prelude" module drop-in replacement for [base](https://hackage.haskell.org/package/base)'s @Prelude@ module.
.
Goals of this package include:
.
* Be reasonably modest and remain close in spirit to the @base@ package's scope
.
* Depend only on @base@ (via @base-noprelude@) for recent GHC versions
.
* Avoid partial functions being in scope by default; redefine common partial functions such as @read@ or @head@ to be 'Maybe'-valued
.
* Provide 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 as @Control.Monad@ and @Control.Applicative@
.
=== Versioning and Usage
.
This package is intended to be used in combination with [base-noprelude](https://hackage.haskell.org/package/base-noprelude) and
possibly [base-orphans](https://hackage.haskell.org/package/base-orphans). @Prelude@ strives to be faithful to
the [PVP](https://pvp.haskell.org/); 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](https://hackage.haskell.org/package/base) via
.
> build-depends:
> base ^>= 4.10.0.0 || ^>= 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.10.0.0 || ^>= 4.11.0.0
.
and this will effectively replace the implicit "Prelude" module.
source-repository head
type: git
location: https://github.com/hvr/Prelude.git
library
hs-source-dirs: src
exposed-modules: Prelude
default-language: Haskell2010
other-extensions: BangPatterns CPP NoImplicitPrelude
build-depends: base-noprelude >=4.3 && <4.13
if !impl(ghc >= 8.0)
build-depends: semigroups >= 0.18.5 && < 0.19
, fail == 4.9.*
, transformers >= 0.3.0.0 && < 0.6
if impl(ghc == 7.4.*)
build-depends: ghc-prim == 0.2.*