prelude-compat: Provide Prelude and Data.List with fixed content across GHC versions

[ bsd3, compatibility, haskell2010, library, prelude ] [ Propose Tags ]

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:

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:

Versions [RSS] [faq] 0.0,, (info)
Dependencies base (>=3 && <5) [details]
License BSD-3-Clause
Author Henning Thielemann
Category Prelude, Haskell2010, Compatibility
Source repo this: darcs get --tag
head: darcs get
Uploaded by HenningThielemann at 2019-05-23T19:41:07Z
Distributions LTSHaskell:, NixOS:, Stackage:
Downloads 2497 total (49 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2019-05-23 [all 1 reports]


[Index] [Quick Jump]


Maintainer's Corner

For package maintainers and hackage trustees