A library which aims to reexport all the non-conflicting and most general definitions from the "base" package. This includes APIs for applicatives, arrows, monoids, foldables, traversables, exceptions, generics, ST, MVars and STM.
This package will never have any dependencies other than "base".
Besides a rich prelude it provides limited ones like
which only exports the data-types defined across the "base" package,
BasePrelude.Operators, which only exports the common operators.
The versioning policy of this package deviates from PVP in the sense that its exports in part are transitively determined by the version of "base". Therefore it's recommended for the users of "base-prelude" to specify the bounds of "base" as well.
- Restrict to min GHC 8.6
- Add Contravariant
- Add OverloadedLabels and Records
- Add STM.orElse
- Exclude Data.Semigroup.Option
- Restrict to min GHC 8.4
- Add focused preludes for data types and operators
- Restrict to min GHC 8.0 and give preference to MonadFail
- Add IsList, Generic1 and export all of System.IO
- Give preference to Semigroup definitions over Monoid
- Replace the
Foreign.StablePtr. It’s more conservative and way less likely to cause name collisions.
- Relaxed the “base” dependency
secondare now (conditionally) exported from
Control.Arrow; note that if your version of base is lower than 4.8,
secondwon’t be available at all.
- Avoided the clash between
sortOndefined in the package and versions of these functions imported from base.
- Added implementations of
sortOn(normally not available in older versions of base).