haskell-programming-from-first-principles
haskell-programming-from-first-principles copied to clipboard
Notes and solutions to exercises of "Haskell Programming from first principles"
Haskell Programming from First Principles
This repository hosts my notes and solutions to exercises in the book Haskell Programming from First Principles.
Dependencies
The only dependency is Stack. Once setup, Stack takes care of any Haskell package dependencies.
Project structure
This repository is organized as a single Stack project as follows
.
├── benchmark/
├── ChangeLog.md
├── haskell-programming-from-first-principles.cabal
├── LICENSE
├── package.yaml
├── README.md
├── Setup.hs
├── src/
├── stack.yaml
└── test/
where src are solutions whose name follows the pattern
ChapterName/SectionName/ExerciseName.hs
test and benchmark are test and benchmark suites following the same naming convention.
Run tests
All test suites can be discovered by hspec-discover. To run tests, simply do
stack test
or
stack --fast test
if you want avoid GHC optimization (hence faster).
Run benchmarks
Run
stack bench
Never use the
--fastflag for benchmarks otherwise you will get wrong results.
Reference benchmark results are included in each benchmark file as block comment.