humble-prelude: Redefinition-free prelude alternative

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.

[maintain] [Publish]

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


[Skip to Readme]

Properties

Versions 0, 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:22:46Z

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


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:

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