Personal tools

Alternatives and extensions for libraries

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
(added Data.Generics.Schemes)
m (Updated the link for haskell-src-exts)
(11 intermediate revisions by 2 users not shown)

Latest revision as of 17:51, 17 March 2008

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

Prelude extensions

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!)


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

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