Read Online:
Chapter Code Examples:
- 01-basics/
- 02-monads/
- 03-monad-transformers/
- 04-extensions/
- 05-laziness/
- 06-prelude/
- 07-text-bytestring/
- 08-applicatives/
- 09-errors/
- 10-advanced-monads/
- 11-quantification/
- 12-gadts/
- 13-lambda-calculus/
- 14-interpreters/
- 15-testing/
- 16-type-families/
- 17-promotion/
- 18-generics/
- 19-numbers/
- 20-data-structures/
- 21-ffi/
- 22-concurrency/
- 23-graphics/
- 24-parsing/
- 25-streaming/
- 26-data-formats/
- 27-web/
- 28-databases/
- 29-ghc/
- 30-languages/
- 31-template-haskell/
- 32-cryptography
- 33-categories/
If you want to submit a fix for a typo or fix for code then just submit a pull request, and I'm happy to recompile the resulting document.
If for some reason you want to compile the HTML page yourself, then you'll need to compile the preprocessor against Pandoc and then run make to build the page.
$ make
$ firefox tutorial.html
Alternatively a PDF or EPUB file can be generated by one of the following commands:
$ apt-get install texlive texlive-xetex
$ make tutorial.pdf
$ make tutorial.epub
Alternatively using the stack build system:
$ stack ghc includes.hs -- -o includes
$ stack exec make
$ firefox tutorial.html
Stephen Diehl (2013-2019)
No rights reserved. The person who associated a work with this deed has dedicated the work to the public domain by waiving all of his or her rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law.
You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.