Alternatives and extensions for libraries: Difference between revisions
(more) |
m (Reverted edits by Tomjaguarpaw (talk) to last revision by Henk-Jan van Tuyl) |
||
(9 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
[[Category:Libraries]] | |||
This table lists alternatives (packages and modules which can do the same or similar tasks) and extensions (code snippets and libraries which build on top rather than replace), for a range of Haskell packages and modules. Your help is appreciated in expanding it. | This table lists alternatives (packages and modules which can do the same or similar tasks) and extensions (code snippets and libraries which build on top rather than replace), for a range of Haskell packages and modules. Your help is appreciated in expanding it. | ||
Line 4: | Line 6: | ||
It is debatable whether a new version under a different name should go in the "alternative(s)" column or the "extension(s)" column. Perhaps it should go in the "extension(s)" column if it is (mostly) backward-compatible, and otherwise in the "alternative(s)" column. | It is debatable whether a new version under a different name should go in the "alternative(s)" column or the "extension(s)" column. Perhaps it should go in the "extension(s)" column if it is (mostly) backward-compatible, and otherwise in the "alternative(s)" column. | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 15: | Line 15: | ||
|- | |- | ||
| base<sup id="fn_(base)_back">[[#fn_(base)|(1)]]</sup> | | base<sup id="fn_(base)_back">[[#fn_(base)|(1)]]</sup> | ||
| [http://www.haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html Prelude] | |||
| [http://haskell.org/hawiki/LicensedPreludeExts LicensedPreludeExts] | |||
[http://haskell.org/hawiki/PreludeExts PreludeExts]<br> | |||
[[Prelude extensions]]<br> | |||
[http://hackage.haskell.org/cgi-bin/hackage-scripts/package/strict strict] | |||
| | |||
|- | |||
| base | |||
| [http://www.haskell.org/ghc/docs/latest/html/libraries/base/Data-Generics.html Data.Generics] | | [http://www.haskell.org/ghc/docs/latest/html/libraries/base/Data-Generics.html Data.Generics] | ||
| snippet @ [[Scrap your boilerplate]] | | snippet @ [[Scrap your boilerplate]] | ||
Line 21: | Line 29: | ||
|- | |- | ||
| base | | base | ||
| [http://www.haskell.org/ghc/docs/latest/html/libraries/base/Data-List.html Data.List] | |||
| | | | ||
| [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/ | | [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/dlist dlist] | ||
|- | |||
| base | |||
| [http://www.haskell.org/ghc/docs/latest/html/libraries/base/Text-PrettyPrint-HughesPJ.html Text.PrettyPrint.HughesPJ] | |||
| | | | ||
| [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/wl-pprint wl-pprint] | |||
|- | |- | ||
| [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/cgi | | [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/cgi cgi] | ||
| | | | ||
| | | | ||
| [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/fastcgi | | [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/fastcgi fastcgi] | ||
|- | |- | ||
| [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/fastcgi | | [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/fastcgi fastcgi] | ||
| | | | ||
| | | | ||
| [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/cgi | | [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/cgi cgi] | ||
|- | |- | ||
| [http://repetae.net/computer/frisby/index.html frisby] | | [http://repetae.net/computer/frisby/index.html frisby] | ||
| Text.Parsers.Frisby | | Text.Parsers.Frisby | ||
| | | | ||
| [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/parsec | | [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/parsec parsec] | ||
[http://hackage.haskell.org/cgi-bin/hackage-scripts/package/polyparse | [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/polyparse polyparse] | ||
|- | |- | ||
| [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/haskell-src | | [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/haskell-src haskell-src] | ||
| all | | all | ||
| [http:// | | [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/haskell-src-exts haskell-src-exts] | ||
| [http://uebb.cs.tu-berlin.de/~magr/projects/piggybackGHC/doc/ piggybackGHC] | | [http://uebb.cs.tu-berlin.de/~magr/projects/piggybackGHC/doc/ piggybackGHC] | ||
|- | |- | ||
Line 49: | Line 62: | ||
| Language.Haskell.Hsx.* | | Language.Haskell.Hsx.* | ||
| | | | ||
| [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/haskell-src | | [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/haskell-src haskell-src] | ||
[http://uebb.cs.tu-berlin.de/~magr/projects/piggybackGHC/doc/ piggybackGHC] | [http://uebb.cs.tu-berlin.de/~magr/projects/piggybackGHC/doc/ piggybackGHC] | ||
|- | |- | ||
| [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/monadLib | | [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/monadLib monadLib] | ||
| | | | ||
| | | | ||
| [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/mtl | | [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/mtl mtl] | ||
|- | |- | ||
| [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/mtl | | [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/mtl mtl] | ||
| | | | ||
| | | | ||
| [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/monadLib | | [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/monadLib monadLib] | ||
|- | |- | ||
| [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/parsec | | [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/parsec parsec] | ||
| | | | ||
| | | | ||
| [http://repetae.net/computer/frisby/index.html frisby] | | [http://repetae.net/computer/frisby/index.html frisby] | ||
[http://hackage.haskell.org/cgi-bin/hackage-scripts/package/polyparse | [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/polyparse polyparse] | ||
|- | |- | ||
| [http://uebb.cs.tu-berlin.de/~magr/projects/piggybackGHC/doc/ piggybackGHC] | | [http://uebb.cs.tu-berlin.de/~magr/projects/piggybackGHC/doc/ piggybackGHC] | ||
| all | | all | ||
| | | | ||
| [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/haskell-src | | [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/haskell-src haskell-src] | ||
[http://www.cs.chalmers.se/~d00nibro/haskell-src-exts/ haskell-src-exts] | [http://www.cs.chalmers.se/~d00nibro/haskell-src-exts/ haskell-src-exts] | ||
|- | |- | ||
| [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/polyparse | | [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/polyparse polyparse] | ||
| | | | ||
| | | | ||
| [http://repetae.net/computer/frisby/index.html frisby] | | [http://repetae.net/computer/frisby/index.html frisby] | ||
[http://hackage.haskell.org/cgi-bin/hackage-scripts/package/parsec | [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/parsec parsec] | ||
|- | |- | ||
| [[Template Haskell|template-haskell]] | | [[Template Haskell|template-haskell]] | ||
| all | | all | ||
| [http://hackage.haskell.org/trac/ghc/ticket/1263 patch @ hackage] (''warning: requires recompiling GHC!'') | | [http://hackage.haskell.org/trac/ghc/ticket/1263 patch @ hackage] (''warning: requires recompiling GHC!'') | ||
[http://hackage.haskell.org/cgi-bin/hackage-scripts/package/th-lift | [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/th-lift th-lift] | ||
| [http://www.haskell.org/ghc/docs/latest/html/libraries/base/Data-Generics.html Data.Generics] | | [http://www.haskell.org/ghc/docs/latest/html/libraries/base/Data-Generics.html Data.Generics] | ||
|- | |||
| [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/wl-pprint wl-pprint] | |||
| [http://hackage.haskell.org/packages/archive/wl-pprint/latest/doc/html/Text-PrettyPrint-Leijen.html Text.PrettyPrint.Leijen] | |||
| | |||
| [http://www.haskell.org/ghc/docs/latest/html/libraries/base/Text-PrettyPrint-HughesPJ.html Text.PrettyPrint.HughesPJ] | |||
|} | |} | ||
<cite id="fn_(base)">[[#fn_(base)_back|Note (1):]]</cite> '''base''' here, refers to [[GHC]]'s base package, unless otherwise stated. | <cite id="fn_(base)">[[#fn_(base)_back|Note (1):]]</cite> '''base''' here, refers to [[GHC]]'s base package, unless otherwise stated. |
Latest revision as of 15:16, 6 February 2021
This table lists alternatives (packages and modules which can do the same or similar tasks) and extensions (code snippets and libraries which build on top rather than replace), for a range of Haskell packages and modules. Your help is appreciated in expanding it.
When editing this table, please try to keep it in alphabetical order (by package name, then by module name), maintain reflexivity (except with the package named "base") and create relevant links wherever possible. Please also try to avoid duplication and excessively long entries in the table, by creating wiki pages where necessary.
It is debatable whether a new version under a different name should go in the "alternative(s)" column or the "extension(s)" column. Perhaps it should go in the "extension(s)" column if it is (mostly) backward-compatible, and otherwise in the "alternative(s)" column.
Package | Module(s) | Extension(s) | Alternative(s) |
---|---|---|---|
base(1) | Prelude | LicensedPreludeExts | |
base | Data.Generics | snippet @ Scrap your boilerplate | Generic Haskell |
base | Data.List | dlist | |
base | Text.PrettyPrint.HughesPJ | wl-pprint | |
cgi | fastcgi | ||
fastcgi | cgi | ||
frisby | Text.Parsers.Frisby | parsec | |
haskell-src | all | haskell-src-exts | piggybackGHC |
haskell-src-exts | Language.Haskell.Hsx.* | haskell-src | |
monadLib | mtl | ||
mtl | monadLib | ||
parsec | frisby | ||
piggybackGHC | all | haskell-src | |
polyparse | frisby | ||
template-haskell | all | patch @ hackage (warning: requires recompiling GHC!) | Data.Generics |
wl-pprint | Text.PrettyPrint.Leijen | Text.PrettyPrint.HughesPJ |
Note (1): base here, refers to GHC's base package, unless otherwise stated.