humble-prelude: Redefinition-free prelude alternative

[ bsd3, library, prelude ] [ Propose Tags ] [ Report a vulnerability ]

See README.md.........................


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0, 0.1, 0.2
Change log CHANGELOG.md
Dependencies base (>=4.12.0.0 && <5), bytestring, deepseq, ghc, text [details]
License BSD-3-Clause
Copyright Copyright (c) Fumiaki Kinoshita
Author Fumiaki Kinoshita
Maintainer fumiexcel@gmail.com
Category Prelude
Bug tracker https://github.com/fumieval/humble-prelude
Source repo head: git clone https://github.com/fumieval/humble-prelude
Uploaded by FumiakiKinoshita at 2020-01-10T13:26:24Z
Distributions
Downloads 972 total (12 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2020-01-10 [all 1 reports]

Readme for humble-prelude-0

[back to package description]

humble-prelude: the worst prelude alternative

Build Status Hackage Discord

This library aims to be an intersection of the current prelude ands "how it should be in the future". Unlike many other prelude alternatives, this package does not:

  • Introduce any new abstraction
  • Provide new functions
  • Reexport a bunch of other libraries

Instead it's a subset of Prelude. Any Haskell source based on HumblePrelude should also be buildable with Prelude.

For those who want more convenience, HumblePrelude.Extras reexports things that are frequently imported only for one or two symbols (e.g. Generic for deriving). But nothing else.

Plugin

One of the well-known problems of Prelude alternatives is the tempo loss of importing the module itself. humble-prelude offers a GHC plugin that imports any module specified in the flag. Add the following lines into your cabal file:

  ghc-options: -fplugin=HumblePrelude.Plugin -fplugin-opt=HumblePrelude.Plugin:HumblePrelude.Extras
  default-extensions: NoImplicitPrelude