Difference between revisions of "Alternatives and extensions for libraries"

From HaskellWiki
Jump to navigation Jump to search
(remove version numbers from hackage links, to point at latest versions)
m (Reverted edits by Tomjaguarpaw (talk) to last revision by Henk-Jan van Tuyl)
 
(7 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.
 
'''This page is under construction - it was created 2007-05-11'''
 
   
 
{| 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/Text-PrettyPrint-HughesPJ.html Text.PrettyPrint.HughesPJ]
+
| [http://www.haskell.org/ghc/docs/latest/html/libraries/base/Data-List.html Data.List]
 
|
 
|
| [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/wl-pprint wl-pprint]
+
| [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/dlist dlist]
 
|-
 
|-
 
| base
 
| 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/strict strict]
+
| [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/wl-pprint wl-pprint]
|
 
 
|-
 
|-
 
| [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/cgi cgi]
 
| [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/cgi cgi]
Line 48: Line 56:
 
| [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/haskell-src haskell-src]
 
| [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/haskell-src haskell-src]
 
| all
 
| all
| [http://www.cs.chalmers.se/~d00nibro/haskell-src-exts/ haskell-src-exts]
+
| [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 79: Line 87:
 
[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-1.0 polyparse]
+
| [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/polyparse polyparse]
 
|
 
|
 
|
 
|
Line 92: Line 100:
 
|-
 
|-
 
| [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/wl-pprint wl-pprint]
 
| [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/wl-pprint wl-pprint]
| [http://hackage.haskell.org/packages/archive/wl-pprint/1.0/doc/html/Text-PrettyPrint-Leijen.html Text.PrettyPrint.Leijen]
+
| [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]
 
| [http://www.haskell.org/ghc/docs/latest/html/libraries/base/Text-PrettyPrint-HughesPJ.html Text.PrettyPrint.HughesPJ]

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

PreludeExts
Prelude extensions
strict

base Data.Generics snippet @ Scrap your boilerplate Generic Haskell

template-haskell

base Data.List dlist
base Text.PrettyPrint.HughesPJ wl-pprint
cgi fastcgi
fastcgi cgi
frisby Text.Parsers.Frisby parsec

polyparse

haskell-src all haskell-src-exts piggybackGHC
haskell-src-exts Language.Haskell.Hsx.* haskell-src

piggybackGHC

monadLib mtl
mtl monadLib
parsec frisby

polyparse

piggybackGHC all haskell-src

haskell-src-exts

polyparse frisby

parsec

template-haskell all patch @ hackage (warning: requires recompiling GHC!)

th-lift

Data.Generics
wl-pprint Text.PrettyPrint.Leijen Text.PrettyPrint.HughesPJ

Note (1): base here, refers to GHC's base package, unless otherwise stated.