The following is for people that want to get started with the basics.
Reference material: https://github.com/mbbx6spp/effpee/blob/release/reference/haskell-cheatsheet.pdf
Exercises:
- https://github.com/mbbx6spp/effpee/blob/release/src/Effpee/ADT.hs
- https://github.com/mbbx6spp/effpee/blob/release/src/Effpee/Option.hs#L14
- https://github.com/mbbx6spp/effpee/blob/release/src/Effpee/Or.hs#L22
- https://github.com/mbbx6spp/effpee/blob/release/src/Effpee/Or.hs#L25
- https://github.com/mbbx6spp/effpee/blob/release/src/Effpee/Validation.hs#L33
- https://github.com/mbbx6spp/effpee/blob/release/src/Effpee/Validation.hs#L36
- https://github.com/mbbx6spp/effpee/blob/release/src/Effpee/USMoney.hs
Reference material: https://github.com/mbbx6spp/effpee/blob/release/reference/functors.pdf
Exercises:
- https://github.com/mbbx6spp/effpee/blob/release/src/Effpee/Option.hs#L23
- https://github.com/mbbx6spp/effpee/blob/release/src/Effpee/Or.hs#L29
- https://github.com/mbbx6spp/effpee/blob/release/src/Effpee/Pair.hs#L19
Reference material: https://github.com/mbbx6spp/effpee/blob/release/reference/recursion.pdf
Exercises:
- https://github.com/mbbx6spp/effpee/blob/release/src/Effpee/Many.hs
- https://github.com/mbbx6spp/effpee/blob/release/src/Effpee/Stream.hs
The Effpee.Cards
module and associated test suite are located in files:
- src/Effpee/Cards.hs: source code for the Cards practice exercises
- test/Effpee/CardsTest.hs: test code that checks the
Effpee.Cards
module functionality.
To start you will want to follow the instructions in the first two TODOs which
require you to flesh out the data declaration for a Suit
in the Cards domain and
implement `evalColor`.
You will know if you have gotten it right by checking all the tests succeed in the corresponding test suite with the command:
cabal new-run test:all -- --pattern=Effpee.Cards
After this will will want to follow the TODO prompts in the source file and then the test file until there are no more TODOs left to complete.