Need help with wiwinwlh?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

sdiehl
2.1K Stars 217 Forks Other 1.2K Commits 4 Opened issues

Description

What I Wish I Knew When Learning Haskell

Services available

!
?

Need anything else?

Contributors list

# 9,652
Haskell
webasse...
type-ch...
lambda-...
557 commits
# 98,230
functio...
Haskell
TeX
Shell
271 commits
# 220,978
Shell
apollo-...
f-sharp
theorem...
11 commits
# 357,340
Haskell
Shell
functio...
TeX
8 commits
# 302,438
TeX
Shell
compute...
sage
8 commits
# 63,548
Haskell
eta
jvm
nix
7 commits
# 9,932
Django
talks
ipam
Pharo
6 commits
# 388,211
F#
functio...
Haskell
Shell
6 commits
# 325,448
functio...
Haskell
TeX
Shell
6 commits
# 422,855
functio...
Haskell
TeX
Shell
4 commits
# 447,546
Haskell
algebra
functio...
TeX
3 commits
# 447,893
functio...
Haskell
TeX
Shell
3 commits
# 308,827
Haskell
aws-s3
fastlan...
watchos
3 commits
# 393,962
functio...
Haskell
TeX
Shell
3 commits
# 320,428
The Jul...
Shell
dissert...
latex-t...
2 commits
# 117,583
elm
nix
ghcjs
Three.j...
2 commits
# 170,802
Haskell
type-sa...
PureScr...
gtk
2 commits
# 321,892
coq
theorem...
Elixir
Erlang
2 commits
# 43,085
Haskell
Zsh
nix
jQuery
2 commits
# 248,140
Elixir
Shell
computa...
Django
2 commits

MIT License Build Status

Read Online:

If you'd like a physical copy of the text you can either print it out for yourself (see Printable PDF) or purchase one from a publisher. The price is at-cost since the text is open source and free.

The current published version is:

Date: February 16, 2020
Git: d429c2e21b9636cffa27a8d4f063644b8bcecf1a

Contributing

If you want to submit a fix for a typo or fix edit the following Markdown file which generates all other targets.

tutorial.md

Then submit a Pull Request on Github describing your change.

Source code is directly included from the

src
directory into the resulting document by the preprocessor. To include a new sample edit the example source code directly. When adding a new Haskell file, add it to the
ci
script inside of the folder so it is run in the continuous integration script.

Source Code

Chapter Code Examples:

Compiling

If you'd like to build the documents locally you'll need to compile the preprocessor run either use Nix, Stack or Cabal to compile the preprocessor executable in the cabal file.

$ stack exec make # Stack
$ cabal exec make # Cabal

For Nix:

$ make run-shell
$ ghc --make includes.hs
$ make

After this is built you can build anyone of the available target outputs.

LaTeX

You will need the whole XeTeX suite to compile.

$ apt-get install texlive texlive-xetex texlive-extra texlive-extra-utils
$ make pdf
$ make print

HTML

$ make html

Microsoft Word

$ make docx

Ebook

$ make epub

Continuous Integration

The book and example code is kept stable under continuous integration. The script

src/ci
will run through all example code and compile it against the
example.cabal
file of the given chapter. All bounds for dependencies are specified in the cabal file and ensure that the given code examples are up to date.

The CI is run in Github under TravisCI on every pull request.

To run the integration suite manually run:

$ cd src && ./ci

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.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.