From HaskellWiki
Jump to: navigation, search



Language definition
History of Haskell
Future of Haskell

Learning Haskell

Haskell in 5 steps
Learning Haskell
Books and tutorials
Wiki articles
Blog articles
Research papers


Standard libraries
Hackage library database
Applications and libraries
Hoogle: library API search


Communities and active projects
Mailing lists
IRC channel
User groups
Planet Haskell
Haskell Weekly News
The Monad.Reader
The Haskell Sequence
Haskell pastebin
Contributing to this site
Languages: en es ro pt fr ru zh/cn tur

Haskell is an advanced purely functional programming language. The product of more than twenty years of cutting edge research, it allows rapid development of robust, concise, correct software. With strong support for integration with other languages, built-in concurrency, debuggers, profilers, rich libraries and an active community, Haskell makes it easier to produce flexible, maintainable high-quality software.


Upcoming Events
16th ACM SIGPLAN International Conference on Software Language Engineering (SLE 2023)
Co-located with SPLASH 2023
2023-10-22 – 2023-10-27, Cascais, Lisbon, Portugal
30th Static Analysis Symposium (SAS 2023)
2023-10-22 – 2023-10-27, Cascais, Lisbon, Portugal
33rd International Symposium on Logic-based Program Synthesis and Transformation (LOPSTR 2023)
Co-located with PPDP 2023 as part of SPLASH 2023
2023-10-23 – 2023-10-24, Cascais, Lisbon, Portugal
25th International Symposium on Principles and Practice of Declarative Programming (PPDP 2023)
Part of SPLASH 2023 and co-located with LOPSTR 2023
2023-10-22 – 2023-10-23, Cascais, Lisbon, Portugal
CMSB 2023: 21st Conference on Computational Methods in Systems Biology
2023-09-13 – 2023-09-15, Luxembourg City, Luxembourg
Haskell Symposium 2023
Co-located with the International Conference on Functional Programming (ICFP)
2023-09-08 – 2023-09-09, Seattle, WA, USA
28th ACM SIGPLAN International Conference on Functional Programming (ICFP)
2023-09-04 – 2023-09-09, Seattle, Washington, USA
ACM SIGPLAN Haskell Implementors' Workshop
Co-located with ICFP
2023-09-04, Seattle, Washington, United States
22nd ACM SIGPLAN Erlang Workshop @ ICFP (ERLANG 2023)
Co-located with ICFP
2023-09-04, Seattle, Washington, USA
The 20th International Conference on Mobile Systems and Pervasive Computing (MobiSPC)
2023-07-24 – 2023-07-26, Halifax, Nova Scotia, Canada
The 13th International Conference on Sustainable Energy Information Technology (SEIT)
In Conjunction with MobiSPC
2023-07-24 – 2023-07-26, Halifax, Nova Scotia, Canada
Theoretical Aspects of Software Engineering (TASE 2023)
2023-07-04 – 2023-07-06, Bristol, UK
Utrecht Summer School on Advanced Functional Programming 2023
2023-07-03 – 2023-07-07, Utrecht, the Netherlands, 03 July – 07 July 2023
16th International Symposium on High-Level Parallel Programming and Applications (HLPP 2023)
2023-06-29 – 2023-06-30, Cluj-Napoca, Romania
10th International Conference on Algebra and Coalgebra in Computer Science (CALCO 2023)
Co-located with MFPS XXXIX
2023-06-19 – 2023-06-21, Bloomington, Indiana (USA) and online
9th International Workshop on Libraries, Languages, and Compilers for Array Programming (ARRAY 2023)
Co-located with PLDI 2023
2023-06-17, Orlando, Florida
29th International Conference on Types for Proofs and Programs (TYPES 2023)
2023-06-12 – 2023-06-15, Valencia, Spain
10th Workshop on Horn Clauses for Verification and Synthesis (HCVS)
Co-located with ETAPS 2023
2023-04-23, Paris, France
Eelco Visser Commemorative Symposium
2023-04-05, Delft, The Netherlands
Recent Events
2023-03-17, Berlin, Germany
The 6th International Conference on Emerging Data and Industry (EDI40)
2023-03-15 – 2023-03-17, Leuven, Belgium
FOSDEM Haskell Devroom
2023-02-04 – 2023-02-05, Brussels
Certified Programs and Proofs (CPP) 2023 (co-located with POPL 2023)
2023-01-16 – 2023-01-17, Boston, MA, USA
50th ACM SIGPLAN Symposium on Principles of Programming Languages (POPL 2023)
2023-01-15 – 2023-01-21, Boston, MA, USA
24th International Symposium on Trends in Functional Programming (TFP 2023)
2023-01-13 – 2023-01-15, Boston, MA, USA
Trends in Functional Programming in Education (TFPIE)
2023-01-12, Boston, MA, USA
30th Netherlands Functional Programming Day
2023-01-06, Eindhoven, The Netherlands
Workshop on Programming Languages and Analysis for Security (PLAS 2022)
2022-12-12, Virtual
Haskell eXchange
2022-12-07 – 2022-12-09, London UK
Software Language Engineering (SLE) 2022
2022-12-05 – 2022-12-10, Auckland, New Zealand


  • Videos of the Haskell Workshop 2007 talks and discussion are now available again (on a different host to previously). They are in QuickTime (H264 video, AAC audio) format, at 320x240 pixels, low frame rate (but still about 120Mb per half-hour talk).
  • is a mentoring organization in the 2007 Google Summer of Code. 9 students have been funded by Google to work on infrastructure projects for Haskell; read about some results in Issue 9 of The Monad Reader.
  • The Haskell-prime committee has started work on defining the next minor revision of the language specification.



  • darcs 2.0. David Roundy announced the release candidate of darcs 2.0; darcs 2.0 will be a major release of the distributed version control program which addresses long-standing conflict bugs and add improved performance.

  • HOgg 0.3.0. Conrad Parker announced the release of version 0.3.0 of HOgg; HOgg is a Haskell library for manipulating Ogg files. Also included is a command-line tool using the library.

  • atom. Tom Hawkins announced the release of atom 2007.12; atom is a domain-specific language embedded in Haskell which is used in "describing reactive software, primarily for realtime control applications".

  • XMonad 0.5. Don Stewart & the XMonad dev team announced the release of XMonad 0.5, an extensible tiling window manager; this release brings new extensions and a much easier configuration system.

  • GHC 6.8.1. Ian Lynagh announced the release of GHC 6.8.1, a new major release of GHC. There have been a number of significant changes since the last major release, including: Haskell Program Coverage support, the GHCi debugger, pointer tagging in the runtime (with up to 10-15% speedups), constructor specialisation, improved optimisations and much more. The full release notes are available.

  • Gtk2Hs Duncan Coutts announced version of gtk2hs is now available. gtk2hs is the standard graphics library for Haskell. An in-depth tutorial, "Teach Yourself Gtk2Hs in 21 Hours", has also been announced.

  • Shu-thing 1.0 and Monadius 0.9. Gwern Branwen announced the release of Cabalized versions of the shoot'em up vector arcade games Shu-thing and Monadius.

  • Lazy SmallCheck 0.1. Matthew Naylor announced Lazy SmallCheck 0.1, a library for exhaustive, demand-driven testing of Haskell programs.

  • HDBC 1.1.3. John Goerzen announced new releases of HDBC, the Haskell database connectivity kit, and its associated backends (for sqlite3, postgresql, odbc).

  • xmobar. Andrea Rossato announced the release of Xmobar-0.8, a minimalistic, text based, status bar. It was specifically designed to work with the XMonad Window Manager.

  • Flymake Haskell. Daisuke Ikegami announced Flymake Haskell, Emacs bindings for interactive Haskell compilation

  • network bytestring. Johan Tibbel announced, strict ByteString versions of the recv/send family of functions for efficient network IO.

  • ByteString search. Bryan O'Sullivan announced a Cabalised ByteString version of the optimized Boyer-Moore and Knuth-Morris-Pratt string search algorithms

  • Generating free theorems. Janis Voigtlaender announced an improved version of the online and offline free theorems generator for Haskell

  • hslogger4j 0.1.1. Bjorn Buckwalter announced Hslogger4j, which provides handlers for hslogger (John Goerzen's Haskell logging framework) that are compatible with log4j's XMLLayout.

  • Infinity 0.3. Austin Seipp announced `infinity', an IRC bot in Haskell

  • hswm. Remi Turk announced the first and last release of hswm, a Haskell window manager.

  • xmobar-0.8. Uploaded by Andrea Rossato. xmobar, a minimalistic text based status bar

  • hsSqlite3-0.0.4. Uploaded by Evgeny Jukov. hsSqlite3, bindings for Sqlite3

  • cabal-rpm-0.3.2. Uploaded by Bryan OSullivan. cabal-rpm turns Haskell Cabal source packages into source and binary RPM packages.

  • selenium-0.2.2. Uploaded by Aaron Tomb. selenium, Haskell bindings to communicate with a Selenium Remote Control server. This package makes it possible to use Haskell to write test scripts that exercise web applications through a web browser.

  • HPDF-1.3. Uploaded by alpheccar. HPDF. A PDF library with support for several pages, page transitions, outlines, annotations, compression, colors, shapes, patterns, jpegs, fonts, typesetting ...

  • FileManip-0.3.1. Uploaded by Bryan OSullivan. FileManip, a Haskell library for working with files and directories. Includes code for pattern matching, finding files, modifying file contents, and more.

  • stringsearch-0.2. Uploaded by Bryan OSullivan. stringsearch, fast search of ByteStrings.

  • nano-md5-0.1. Uploaded by Don Stewart. nano-md5, ByteString bindings to OpenSSL.

  • denominate-0.4.1. Uploaded by Calvin Smith. denominate provides a main program for performing bulk file and directory renaming, using a built-in filename converter or user-defined converters.

  • ContArrow 0.0.2. Uploaded by Evgeny Jukov. ContArrow, Control.Arrow.Transformer.Cont

  • state 0.0.2. Uploaded by Evgeny Jukov. state. State.

  • infinity 0.3. Uploaded by Austin Seipp. infinity, a tiny, pluggable irc bot.

  • Dimensional 0.7.1. Uploaded by Bjorn Buckwalter Dimensional 0.7.1, a port to GHC 6.8.1 of Dimensional, a library which provides "data types for performing arithmetic with physical quantities and units. Information about the physical dimensions of the quantities/units is embedded in their types and the validity of operations is verified by the type checker at compile time."

  • unix-compat Uploaded by Duncan Coutts. unix-compat, portable implementations of parts of the unix package.

  • Ranged-sets 0.1.1. Uploaded by Paul Johnson. Ranged-sets. A ranged set is an ordered list of ranges.

  • IFS 0.1.1. Uploaded by alpheccar. IFS, a library to describe IFS and generate PPM pictures from the descriptions

  • bktrees 0.1.3. Uploaded by Josef Svenningsson. bktrees. Burhard-Keller trees provide an implementation of sets which apart from the ordinary operations also has an approximate member search, allowing you to search for elements that are of a certain distance from the element you are searching for.

  • pqc 0.2. Uploaded by Don Stewart. pqc, a parallel batch driver for QuickCheck

  • strict 0.2. Uploaded by Don Stewart. strict, strict data types.

  • HsSVN 0.2. Uploaded by PHO. HsSVN, (Part of) Subversion binding for Haskell

  • HsHyperEstraier 0.2. Uploaded by PHO. HsHyperEstraier, a HyperEstraier binding for Haskell. HyperEstraier is an embeddable full text search engine which is supposed to be independent to any particular natural languages.

  • HsOpenSSL 0.3.1. Uploaded by PHO. HsOpenSSL, a (part of) OpenSSL binding for Haskell. It can generate RSA and DSA keys, read and write PEM files, generate message digests, sign and verify messages, encrypt and decrypt messages.

  • Finance-Quote-Yahoo 0.4. Uploaded by Brad Clawsie. Finance-Quote-Yahoo, obtain quote data from

  • LRU 0.1.1. Uploaded by Adam Langley. LRU, an LRU data structure

  • base 3.0. Uploaded by Ross Paterson. base, the Prelude and its support libraries, and a large collection of useful libraries ranging from data structures to parsing combinators and debugging utilities.

  • regex-posix Uploaded by Duncan Coutts. regex-posix, posix regex support.

  • xhtml 3000.0.2.1. Uploaded by Bjorn Bringert. xhtml, combinators for producing XHTML 1.0, including the Strict, Transitional and Frameset variants.

  • Win32 Uploaded by Esa Ilari Vuokko. Win32, a binding to part of the Win32 library

  • unix Uploaded by Ross Paterson. unix, POSIX functionality

  • time Uploaded by Ross Paterson. time, time handling.

  • template-haskell Uploaded by Ross Paterson. template-haskell, support for manipulating Haskell syntax trees

  • stm Uploaded by Ross Paterson. stm, software transational memory

  • regex-compat Uploaded by Ross Paterson. regex-compat, backwards compatible regex support

  • regex-base Uploaded by Ross Paterson. regex-base, regex support.

  • readline Uploaded by Ross Paterson. readline, an interface to the GNU readline library

  • random Uploaded by Ross Paterson. random, random number generation

  • QuickCheck Uploaded by Ross Paterson. QuickCheck, automatic testing of Haskell programs

  • process Uploaded by Ross Paterson. process, jobs and processes

  • pretty Uploaded by Ross Paterson. pretty, pretty printing library.

  • parsec Uploaded by Ross Paterson. parsec, monadic parser combinators.

  • parallel Uploaded by Ross Paterson. parallel, support for parallel programming

  • packedstring Uploaded by Ross Paterson. packedstring, packed strings

  • OpenGL Uploaded by Ross Paterson. OpenGL, binding for the OpenGL graphics system

  • OpenAL Uploaded by Ross Paterson. OpenAL, binding to the OpenAL cross-platform 3D audio API.

  • old-time Uploaded by Ross Paterson. old-time, time library.

  • alex 2.2. Uploaded by Simon Marlow. alex is a tool for generating lexical analysers in Haskell

  • Cabal Uploaded by Duncan Coutts. Cabal is the framework for packaging Haskell software

  • HaXml 1.19.1. Uploaded by Malcolm Wallace. HaXml, Utilities for manipulating XML documents

  • HDBC-odbc Uploaded by John Goerzen. HDBC-odbc, ODBC driver for HDBC

  • HDBC-postgresql Uploaded by John Goerzen. HDBC-postgresql is a PostgreSQL driver for HDBC

  • HDBC-sqlite3 Uploaded by John Goerzen. HDBC-sqlite3 is a Sqlite v3 driver for HDBC

  • HDBC 1.1.3. Uploaded by John Goerzen. HDBC is a Haskell Database library

  • X11 1.3.0. Uploaded by Don Stewart. X11 is a library of bindings to the X11 libraries and server

  • HsOpenSSL 0.3. Uploaded by Masatake Daimon. HsOpenSSL, (Part of) OpenSSL binding for Haskell

  • Imlib 0.1. Uploaded by Cale Gibbard. Imlib, Haskell binding for Imlib 2

  • Stream 0.2.2. Uploaded by Wouter Swierstra. Stream, a library for manipulating infinite lists.

  • sat 1.0. Uploaded by AndriiZvorygin. sat, CNF SATisfier

  • torrent 2007.10.27. Uploaded by David Himmelstrup. torrent, BitTorrent file parser

  • bencode 0.2. Uploaded by David Himmelstrup. bencode, Parser and printer for bencoded data.

  • SDL 0.5.1. Uploaded by David Himmelstrup. SDL, binding to libSDL

  • NGrams 1.0. Uploaded by Justin Bailey. ngrams, Simple application for calculating n-grams using Google

More news

  • The Ro Haskell group and EduSoft are announcing a special price (8 RON, or the equivalent of 2-3€) for Introducere in Haskell 98 prin exemple by Dan Popa ("Introduction in Haskell 98 by examples") 230pp, 24 cm. Recommended for readers from Romania and the Republic of Moldova.
    Limited stock. See the ro page for details or send an e-mail to : Price valid until 21 December or supplies run out. Tip: You have to answer the question: "What is the name of the Romanian Haskell group or its URL?"