Overview
Syllabus
Intro
Static: Points in Favor
Dynamic: Points in Favor
What is Good Design?
Elements Of Great Designs
Example: Bach Fugues
What Is A Good Language for Design?
Type Systems Landscape
Static Type Systems
(1) My Way or the Highway
(3) Type it to the Max
Making Good Use of Nothing
Other Strengths of Dynamic
(3) Cutting Corners
Abstractions
Types in Scala
Non-Orthogonal Design
Too Many Combinations?
Projections Reduce Dimensionality
Projections Help Remove Features
Dot and Dotty
Types in Dotty
Modelling Generics
Making Parameters Public
Expressing Existentials
Expressing Higher-Kinded
In a Nutshell
Will this Be Scala?
The Essence of Scala
Types Are Trouble
Taught by
Strange Loop Conference