intro: "Fixed Prelude" - Mostly total and safe, provides Text and Monad transformers

[ library, mit, prelude ] [ Propose Tags ]

Intro is a modern Prelude which provides safe alternatives for most of the partial functions and follows other best practices, e.g., Text is preferred over String. For String overloading the extension OverloadedStrings should be used. Container types and Monad transformers are provided.

Most important - this Prelude tries to keep things simple. This means it just reexports from base and commonly used libraries and adds only very few additional functions. Everything is exported explicitly to provide a stable interface and to improve the quality of the documentation.


[Skip to Readme]

Modules

[Index]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.0.1.0, 0.0.2.0, 0.0.2.1, 0.0.2.2, 0.1.0.0, 0.1.0.1, 0.1.0.2, 0.1.0.3, 0.1.0.4, 0.1.0.5, 0.1.0.6, 0.1.0.7, 0.1.0.8, 0.1.0.9, 0.1.0.10, 0.2.0.0, 0.2.0.1, 0.2.0.2, 0.3.0.0, 0.3.0.1, 0.3.1.0, 0.3.2.0, 0.4.0.0, 0.5.0.0, 0.5.1.0, 0.5.2.0, 0.5.2.1, 0.6.0.0, 0.6.0.1, 0.7.0.0, 0.8.0.0, 0.9.0.0
Dependencies base (>=4.8 && <5.0), bifunctors (>=5.2 && <5.5), binary (>=0.7 && <0.9), bytestring (>=0.9 && <0.11), containers (>=0.5 && <0.6), deepseq (>=1.4 && <1.5), dlist (>=0.7 && <0.9), extra (>=1.5.1 && <1.6), hashable (>=1.2.5 && <1.3), mtl (>=2.2 && <2.3), safe (>=0.3.11 && <0.4), semigroups (>=0.9 && <1), tagged (>=0.8 && <0.9), text (>=0.7 && <1.3), transformers (>=0.4 && <0.6), unordered-containers (>=0.2 && <0.3), writer-cps-mtl (>=0.1.1.2 && <0.2) [details]
License MIT
Copyright 2016-2017 Daniel Mendler
Author Daniel Mendler <mail@daniel-mendler.de>
Maintainer Daniel Mendler <mail@daniel-mendler.de>
Category Prelude
Home page https://github.com/minad/intro#readme
Bug tracker https://github.com/minad/intro/issues
Source repo head: git clone https://github.com/minad/intro
Uploaded by minad at 2017-03-07T02:11:48Z
Distributions
Reverse Dependencies 2 direct, 1 indirect [details]
Downloads 18046 total (79 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2017-03-07 [all 1 reports]

Readme for intro-0.2.0.0

[back to package description]

Intro: My current Haskell Prelude

Hackage Build Status

Intro is a modern Prelude which provides safe alternatives for most of the partial functions and follows other best practices, e.g., Text is preferred over String. For String overloading the extension 'OverloadedStrings' should be used. Container types and Monad transformers are provided.

Most important - this Prelude tries to keep things simple. This means it just reexports from base and commonly used libraries and adds only very few additional functions.

List of design decisions:

  • Keep everything at one place (There are one two modules and Intro.Trustworthy is only there for Safe Haskell)
  • Conservative extension over the base Prelude
  • Rely only on very common external libraries
  • Avoid writing custom functions
  • Export everything explicitly to provide a stable interface and for good documentation
  • Export only total functions or provide safe alternatives (Very few exceptions like div etc.)
  • Prefer Text over String, provide ConvertibleStrings
  • Provide Monad transformers
  • Provide container types
  • Prefer generic functions
  • Debugging functions, like 'Intro.Trustworthy.trace' and 'undefined' are available but produce compile time warnings
  • Don't provide error, only panic instead
  • Compatibility with Control.Lens