# Language and library specification

### From HaskellWiki

TomLokhorst (Talk | contribs) m (Updated link to syntax diagrams) |
(Add Haskell 2010) |
||

Line 1: | Line 1: | ||

− | |||

[[Category:Language]] | [[Category:Language]] | ||

− | |||

− | The Haskell | + | == The Haskell 2010 report == |

− | The Revised Report is published by Cambridge University Press, as a book [http://www.cambridge.org/uk/catalogue/catalogue.asp?isbn=0521826144 "Haskell 98 language and libraries: the Revised Report"], and also as a | + | The Haskell 2010 report was published in July 2010, and is the current definition of the Haskell language. It is freely available online, in the following formats: |

+ | |||

+ | * read it online: [http://www.haskell.org/onlinereport/haskell2010 The Haskell 2010 Report] | ||

+ | * [http://haskell.org/definition/haskell2010.pdf PDF] [1368K] | ||

+ | * [http://haskell.org/definition/haskell2010-html.tar.gz HTML] (tar + gzip) [336K] | ||

+ | |||

+ | Note that these documents are intended to define Haskell and are not appropriate for learning Haskell. For the latter have a look at the [[Books and tutorials|Haskell bookshelf]]. | ||

+ | |||

+ | The sources for the Haskell report are also available: | ||

+ | |||

+ | * [http://darcs.haskell.org/haskell2010-report Haskell 2010 report darcs repository] | ||

+ | |||

+ | == The Haskell 98 report == | ||

+ | |||

+ | The Haskell 98 (Revised) Report is published by Cambridge University Press, as a book [http://www.cambridge.org/uk/catalogue/catalogue.asp?isbn=0521826144 "Haskell 98 language and libraries: the Revised Report"], and also as a | ||

Special Issue of the Journal of Functional Programming 13(1) Jan 2003. | Special Issue of the Journal of Functional Programming 13(1) Jan 2003. | ||

− | The | + | The Haskell 98 report is also available online in a number of formats: |

* [http://haskell.org/onlinereport/ The Haskell 98 Report (Revised)] | * [http://haskell.org/onlinereport/ The Haskell 98 Report (Revised)] | ||

Line 27: | Line 39: | ||

== Addenda to the report == | == Addenda to the report == | ||

− | + | These addenda to the Haskell 98 report were both incorporated in the Haskell 2010 report, so they are included here only for historical interest. | |

− | + | ||

− | + | ||

− | + | ||

− | + | ||

− | + | ||

− | + | ||

− | + | ||

− | + | ||

− | + | ||

− | + | ||

− | + | ||

− | + | ||

− | + | ||

− | + | ||

− | + | ||

− | + | ||

− | + | ||

− | + | ||

− | + | ||

Finalised: | Finalised: | ||

Line 54: | Line 47: | ||

#[http://www.haskell.org/hierarchical-modules/ Hierarchical modules] | #[http://www.haskell.org/hierarchical-modules/ Hierarchical modules] | ||

− | == | + | == Future revisions of the language == |

− | + | Language revisions are expected to be produced once per year, starting with Haskell 2010. The continuous revision process is called [http://hackage.haskell.org/trac/haskell-prime/ Haskell Prime]. | |

− | + | ||

== Related work == | == Related work == |

## Revision as of 10:09, 6 July 2010

## Contents |

## 1 The Haskell 2010 report

The Haskell 2010 report was published in July 2010, and is the current definition of the Haskell language. It is freely available online, in the following formats:

- read it online: The Haskell 2010 Report
- PDF [1368K]
- HTML (tar + gzip) [336K]

Note that these documents are intended to define Haskell and are not appropriate for learning Haskell. For the latter have a look at the Haskell bookshelf.

The sources for the Haskell report are also available:

## 2 The Haskell 98 report

The Haskell 98 (Revised) Report is published by Cambridge University Press, as a book "Haskell 98 language and libraries: the Revised Report", and also as a Special Issue of the Journal of Functional Programming 13(1) Jan 2003.

The Haskell 98 report is also available online in a number of formats:

- The Haskell 98 Report (Revised)
- HTML (tar + gzip) [202K]
- Postscript (gzip) [330K]
- PDF [820K]
- PDF (gzip) [650K]
- A translation of the full report into Russian
- Syntax diagrams for Haskell, by Jeroen Fokker. The accompanying text is in Dutch, but the syntax diagrams are legible in any language.
- The Haskell 98 grammar hyperlinked by Peter Hercek.

A complete list of all changes made to both reports between the Jan 1999 publication and the Revised Report (Dec 2002).

The source for the Report is in a publicly visible CVS repository. If you render the report in a new way that others may wish to use, please let us know and we'll add it to this web page. If you have any other ways to package the report please let us know and we'll add them.

The report still has minor bugs. There are tracked at the Haskell 98 bugs page. Report any new bugs to Malcolm Wallace.

## 3 Addenda to the report

These addenda to the Haskell 98 report were both incorporated in the Haskell 2010 report, so they are included here only for historical interest.

Finalised:

Candidates:

## 4 Future revisions of the language

Language revisions are expected to be produced once per year, starting with Haskell 2010. The continuous revision process is called Haskell Prime.

## 5 Related work

- Language.Haskell
- A lexer, parser and pretty printer for Haskell, available in the haskell-src library

- HParser
- A parser for Haskell written purely in Haskell (using the Happy parser generator).

- Typing Haskell in Haskell
- A Haskell program that implements a Haskell typechecker, thus providing a mathematically rigorous specification in a notation that is familiar to Haskell users. Its web page is cached here.

## 6 Historic development of Haskell

The Haskell 98 report was released in February 1999; it is a refinement and simplification of Haskell 1.4. See the Haskell 98 page for more details on Haskell 98 and changes from Haskell 1.4.

The definition of Haskell version 1.4 was finished in April 1997. It contains just minor changes with respect to version 1.3 from May 1996, whereas the step from version 1.2 to version 1.3 was quite large.

- Original Haskell 98 report
- HTML (tar + gzip) [160K]
- Postscript (gzip) [300k]

- Original Haskell 98 library report
- HTML (tar + gzip) [76k]
- Postscript (gzip) [160K]

- Haskell 1.4 report
- HTML (tar + gzip) [125K]
- Postscript (gzip) [230k]

- Haskell 1.4 library report
- HTML (tar + gzip) [60k]
- Postscript (gzip) [100K]
- Changes from 1.3

- Haskell 1.3 report (May 1996)
- Postscript (gzip) [140 pages, 225 K]
- Changes from 1.2
- A short guide on converting programs from Haskell 1.2 to 1.3

- Haskell 1.2 report (March 1992)
- Postscript (gzip) [176 pages, 230 K]

- Haskell 1.1 report
- Tarball (gzip) [469 K]

- Haskell 1.0 report
- Postscript (gzip) [133 pages, 230 K]
- Tarball (gzip) [125 K]

Old definitions of the semantics of Haskell:

- The Static Semantics of Haskell
- Simon Peyton Jones and Philip Wadler, Unpublished Technical Report, University of Glasgow, 1991, 49 pages.

- A Dynamic Semantics for Haskell (Draft)
- Kevin Hammond and Cordelia Hall, University of Glasgow, 1992, 23 pages.