Prelude -package:stack -is:module is:package
Not on Stackage, so not searched.
A Prelude module replacement
Provide Prelude and Data.List with fixed content across GHC versions
This package allows you to write warning-free code that compiles with
versions of
base before and after AMP and FTP, that is,
base before and beginning with 4.8, respectively, and GHC
before and beginning with 7.10, respectively. It serves three
purposes:
- Prevent you from name clashes of FTP-Prelude with locally defined
functions having names like <*>, join,
foldMap.
- Prevent you from redundant import warnings if you manually import
Data.Monoid or Control.Applicative.
- Fix list functions to the list type, contrarily to the aim of the
FTP. This way you are saved from length (2,1) == 1 and
maximum (2,1) == 1, until you import
Data.Foldable.
You should add
import Prelude2010
import Prelude ()
to your modules. This way, you must change all affected modules. If
you want to avoid this you may try the
prelude2010 package or
if you already import Prelude explicitly, you may try to add
Default-Extensions: CPP, NoImplicitPrelude
CPP-Options: -DPrelude=Prelude2010
to your Cabal file.
In my opinion, this is the wrong way round. The presented Prelude2010
module should have been the one for GHC-7.10 and the Prelude with
added and generalized list functions should have been an additional
PreludeFTP, preferably exported by a separate package like all other
alternate Prelude projects. But the purpose of the FTP was to save
some import statements at the expense of blowing up the
Foldable class and prevent simple ways to write code that works
with GHC version before and starting with GHC-7.10 and that does not
provoke warnings.
Related packages:
- 'base-compat': The opposite approach - Make future function
definitions available in older GHC versions.
- haskell2010: Defines the Prelude for Haskell 2010.
Unfortunately, haskell2010 is not available anymore since
GHC-7.10, because of the AMP.
- 'numeric-prelude': It is intended to provide a refined numeric
class hierarchy but it also provides a non-numeric subset of the
Prelude that is more stable than the one of base.
Not on Stackage, so not searched.
Higher order versions of Prelude classes
Not on Stackage, so not searched.
An EDSL-motivated subset of the Prelude
Not on Stackage, so not searched.
Another kind of alternate Prelude file
Not on Stackage, so not searched.
Prelude for rest of us
Not on Stackage, so not searched.
A slightly better (but conservative) Prelude
A redefinition of the Prelude's Enum class in order to render it safe.
A redefinition of the Prelude's Enum class in order to render it safe.
That is, the Haskell Language Report defines pred, succ, fromEnum, and
toEnum to be partial functions when the type is Bounded, but this is
unacceptable. We define a new type-class hierarchy for enumeration
which is safe and also generalizes to cover types which can only be
enumerated in one direction.
Not on Stackage, so not searched.
Provide Prelude with fixed content across GHC versions
Not on Stackage, so not searched.
Generalizes List functions and replaces partials with NonEmpty equivalents.
Featureful preludes formed solely from the "base" package
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
BasePrelude.DataTypes, which only exports the data-types
defined across the "base" package, and
BasePrelude.Operators,
which only exports the common operators.
Versioning policy
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.
An experimental alternative hierarchy of numeric type classes
The package provides an experimental alternative hierarchy of numeric
type classes. The type classes are more oriented at mathematical
structures and their methods come with laws that the instances must
fulfill.
Not on Stackage, so not searched.
"base" package sans "Prelude" module
Not on Stackage, so not searched.
Clash: a functional hardware description language - Prelude library
Not on Stackage, so not searched.
Hydrogen Prelude
Not on Stackage, so not searched.
A Prelude inspired by the Elm programming language
Not on Stackage, so not searched.
A custom prelude used in Morley
Reexports of most definitions from "mtl" and "transformers"
This package only exports definitions from the "mtl" and
"transformers" libraries. Unlike every module of "mtl" it does not
reexport
Control.Monad and
Control.Monad.Fix.
In combination with the
"base-prelude" library, this should
give you a quite rich prelude.
The
2.* versions are restricted by the feature set of
mtl-2.2 and
transformers-0.4, however they provide
support for newer versions of those libraries as well.
Not on Stackage, so not searched.
A numeric prelude
Not on Stackage, so not searched.
The Possehl Analytics Prelude