My Haskell tutorial series keeps growing. I am publishing it through my School of Haskell account because it includes code that can be edited and run in place. There are many interactive exercises (with hidden solutions). Here’s the current list, but more is coming soon:
- Function call syntax. Dollars and dots.
- Function definition syntax. Main and a taste of pattern matching.
- First program. Pure functions, laziness, and a taste of monads.
- Start of the Calculator project. Types, recursion, conditionals.
- Tokenizer. Data types, lists.
- Tokenizer. Function types, currying, guards.
- Tokenizer. Higher order functions, lambdas, map, filter, fold.
- Parser. Top-down recursive parser, dealing with state, case/of clause.
- Evaluator. Data.Map, Maybe, module system, expression problem.
- Error handling. The
Either
monad, type classes. - State Monad. Threading the symbol table using do notation.
- Monadic Bliss. Monadizing the calculator. [coming soon]
- Parsing Combinators. [coming soon]
July 4, 2013 at 9:31 am
Thank you for the tutorials! I am enjoying using them as I learn the basics of Haskell. Where can we give you feedback? I noticed a small typo on the https://www.fpcomplete.com/school/basics-of-haskell/the-tao-of-monad page. The “have” is spelled “hav e”.
July 4, 2013 at 10:55 am
This is indeed a good a place for feedback, since the SoH doesn’t have this functionality. I fixed the typo, thanks.
July 5, 2013 at 10:44 am
I found a broken link in 6 (https://www.fpcomplete.com/school/basics-of-haskell/6-tokenizer-function-types). “Hoogle database” link doesn’t work for me.
July 5, 2013 at 11:08 am
@David: Fixed, thank you.
August 16, 2013 at 2:33 am
https://www.fpcomplete.com/school/basics-of-haskell/3-pure-functions-laziness-io
Search for this typo “, so we we”
August 16, 2013 at 8:38 am
@Volodymyr: Fixed, thanks!
October 2, 2013 at 2:13 pm
Great work, I really like it 🙂
I found some typos in 6:
– look for “arguement”
– look for “character sting”
– look for “one-charcter”
Also, the link to Data.char (http://haddocks.fpcomplete.com/fp/7.4.2/20130508-82/base/Data-Char.html) gives me a 404 with NoSuchKey
And finally Ex5 gives away the solution for Ex4 🙂
October 2, 2013 at 4:02 pm
Thanks, Marco. Fixed, except for the last one 🙂
April 17, 2019 at 5:59 am
Thanks for the tutorial! These links are broken. The tutorial is available at https://www.schoolofhaskell.com/user/bartosz/basics-of-haskell
The tutorial on schoolofhaskell is missing images. images point to bartosz.com:80
FailedConnectionException2 “bartosz.com” 80 False getAddrInfo: does not exist (No address associated with hostname)