The Escalate Software Scala Advanced course is intended for experienced Scala developers looking to improve their skills, particularly for library and API design and development. It covers topics needed to be effective in producing high quality, correct, powerful and flexible Scala libraries that are still easy to use by others.
Part 3 covers advanced functional programming concepts and patterns, use of Macros, how to write external DSLs with the parser-combinator library, and how to effectively optimize code by analyzing performance:
Functional Programming Building Blocks: ADTs, trampolines, recursion, functions
Functional Programming Patterns: Functors, Monads, Applicative Functors
Common Functional Patterns: IO, Reader, Writer, State, Free
Macros and Quasiquotes
External DSLs and Scala's Parser-Combinator Library
Profiling and Optimization
Code Performance Considerations
It is recommended that you complete Scala Advanced parts 1 and 2 before taking this part. While not strictly necessary, we may assume knowledge from parts 1 and 2 in some of the explanations that could be hard to follow unless you know the material.
This is the final part of the Advanced Scala course. We hope you enjoyed the course and that the material proves useful.