The premise of basic-prelude is that there are a lot of very commonly desired
features missing from the standard Prelude, such as commonly used operators
(<$> and >=>, for instance) and imports for common datatypes (e.g.,
ByteString and Vector). At the same time, there are lots of other
components which are more debatable, such as providing polymorphic versions of
common functions.
So basic-prelude is intended to give a common foundation for a number of
alternate preludes. The package provides two modules: CorePrelude provides
the common ground for other preludes to build on top of, while BasicPrelude
exports CorePrelude together with commonly used list functions to provide a
drop-in replacement for the standard Prelude.
Users wishing to have an improved Prelude can use BasicPrelude. Developers
wishing to create a new prelude should use CorePrelude.
Changes
0.7.0
Export applicative version of Foldable and Traversable functions #72
Remove nonexistent foldr' from Data.List hiding list
Remove the lifted-base dependency. This means that CorePrelude
and BasicPrelude no longer expose any exception handling
functions. This is intentional: the new recommendations from this
library are to use an async-exception-aware exception handling
library, either
safe-exceptions
or unliftio.
Moved a number of exports from @BasicPrelude@ to @CorePrelude@ and vice-versa.
0.2
Renamed BasicPrelude to CorePrelude and added a new @BasicPrelude@ module
provided a full-featured Prelude alternative. Also added a number of new
exports.
0.1
Initial version, code taken from @classy-prelude@ with a few minor tweaks.