This repository contains all my work, notes, and in-book examples from Graham Hutton's Programming in Haskell.
I began working in this book during my mini-batch at the Recurse Center in February 2020. I continued working in it over the following weeks, but also spent time on other projects, including beginning to work through HPFP (Haskell Programming from First Principles).
Lives in src/
folder.
- Functions, Functional Programming
- Quicksort, sequencing actions
- GHC, GHCi, a quick tour of the Standard Prelude
- A quick tour of commonly used built-in types, Lists, and Tuples
- function type signatures, currying, polymorphic types, class constraints
- basic classes: Eq, Ord, Show, Read, Num, Integral, Fractional
- if-then-else, guards
- pattern matching, also on tuples, also on lists
- lambda expressions
- operator sections; partially applied functions
- generators, guards
- zip function
- String comprehensions
- The Ceasar Cipher: extended example
- type, data, and newtype declarations
- recursive types
- class and instance declarations
- Tautology checker: extended example
- IO type, IO actions,
do
notation - examples of building up primitive actions (included in Standard Prelude) from just three basic IO actions:
getChar
,putChar
, andreturn
- extended examples:
- Hangman
- Nim
- Game of Life
- completed: chapters: 1, 2, 3, 4, 5, 8, 10
- on deck:
- chapter 6
- chapter 7
- chapter 10 :: Optional: exercise 6: I want to do this exercise and add it to hangman!
- chapter 12 :: exercises 1-8.