The Dotty Compiler is a really useful tool for Scala and it supports lots of great features!
Want to get the most out of it? Check out this talk from Scala Engineer, Jeff May at Scale by the Bay and find out how Dotty can emphasise better cohesion and make things simpler for you.
Play on Dotty: Design Patterns unlocked by Dotty in a Play look-alike demo project
The Dotty compiler currently supports some really awesome features of Scala 3.0 such as implicit functions and trait parameters. In this talk I will discuss what I think are the best parts of Scala's functional programming and object-oriented features and how Dotty emphasizes better cohesion and simplification of these paradigms with implicits. FP brings the notion that functions are just objects, but Scala brings to FP the notion that classes are just higher-order functions that produce modules. With this insight, we can see how you can write extremely modular code without exposing too much detail or hard-coding your modules. I will explore the design patterns implicit parameters/functions versus and constructor injection and when to use one or the other. I will also explore how this could look in a strawman iteration on the Play Framework's architecture (assuming it took these design patterns to heart).
This will be an interesting talk if you are interested in Scala 3, implicit functions, ideas for how the Play Framework could evolve, or the sweetspot between OOP and FP that Scala enables.
This talk was given by Jeff May at Scale by the Bay 2018.