css | ||
img | ||
js | ||
resources | ||
src | ||
.gitignore | ||
.travis.yml | ||
deploy.sh | ||
extensions.csv | ||
extensions.html | ||
includes.hs | ||
LICENSE | ||
Makefile | ||
README.md | ||
shell.nix | ||
stack.yaml | ||
stack.yaml.lock | ||
tutorial.md | ||
wiwinwlh.cabal |
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/
- 34-time/
Contributing
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. Edit the following Markdown file which generates all other targets.
Compiling
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.
To compile the preprocessor run either use Nix, Stack or Cabal to compile the target in the cabal file.
$ stack exec make # Stack
$ cabal exec make # Cabal
$ make run-shell && ghc --make includes.hs # Nix
After this is built you can build anyone of the available target outputs.
LaTeX
$ apt-get install texlive texlive-xetex
$ make pdf
$ make print
HTML
$ make html
Microsoft Word
$ make docx
Ebook
$ make epub
License
Copyright © 2009-2020 Stephen Diehl
This code included in the text is dedicated to the public domain. You can copy, modify, distribute and perform the code, even for commercial purposes, all without asking permission.
You may distribute this text in its full form freely, but may not reauthor or sublicense this work. Any reproductions of major portions of the text must include attribution.
The software is provided "as is", without warranty of any kind, express or implied, including But not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, Arising from, out of or in connection with the software or the use or other dealings in the software.