Explore l'abstraction contextuelle dans la construction de logiciels, en discutant comment les fonctions et les cours peuvent être écrits sans connaissance détaillée du contexte dans lequel ils seront utilisés.
Couvre le passage de contexte par rapport aux classes de type, les contextes d'exécution, l'inviolabilité et l'importance de la spécificité dans Scala.
Explique le processus de résolution des contraintes de type en utilisant l'algorithme d'unification et la généralisation de l'inférence de type flexible.
Couvre les concepts d'algèbre abstraite en utilisant des classes de type dans Scala, y compris la définition des monoïdes, la généralisation des fonctions de réduction et les lois de classe de type.