My solutions to the exercises from the Haskell Functional Programming course fp-course. The tests are rewritten using Hspec and QuickCheck instead of their homegrown framework.
The first step is to inspect the introduction modules.
They contain examples of data structures and Haskell syntax. They do not contain exercises and exist to provide a cursory examination of Haskell syntax.
After this, we recommend the following progression of modules:
- Optional
- List
- Functor
- Applicative
- Monad
- FileIO
- State
- StateT
- Extend
- Comonad
- Contravariant
- Compose
- Traversable
- ListZipper
- Parser (see also Person for the parsing rules)
- MoreParser
- JsonParser
- Alternative
- Interactive
- Anagrams
- FastAnagrams
- Cheque
./.github/run.sh
To run all matching tests:
./.github/run.sh -m <some_word>
To run exactly matching tests:
./.github/run.sh -m "/<some_word>/"
To run a specific test:
./.github/run.sh -m "/Ch11/evaluates expression/eval/"
To run a file containing a main
method:
stack runhaskell <path/to/file> <arg1> <arg2>
To run an executable listed in package.yaml
:
stack build
stack exec <name>
Released under Apache License v2.0.