Here are some questions to test your knowledge:
- What type can you use to represent an optional value?
- What type(s) can you use to represent the possibility of an error?
- What is referential transparency?
- Is it good practice to throw exceptions?
Here are some exercises:
- Write unit tests for SimulatePlanApp
- Use RetCalcResult instead of Either[RetCalcError, X] in RetCalc.scala
- Change VariableReturns.fromUntil to return an error if monthIdFrom or monthIdUntil cannot be found in the returns Vector