Explore les défis des références nulles dans les langages de programmation et propose des solutions pour atténuer leurs inconvénients tout en assurant la compatibilité avec les bases de code existantes.
Explore l'inférence de type dans les langages typés statiquement, en utilisant des algorithmes pour attribuer des types aux expressions de programme avec précision.
Explore la programmation fonctionnelle vérifiée, la vérification formelle, les résolveurs SMT, la vérification de type, les fonctionnalités Scala, l'automatisation et les types dépendants.
Couvre les concepts et la mise en œuvre de la programmation fonctionnelle dans Scala, mettant l'accent sur les fonctions, les données immuables et l'abstraction des données.
Couvre la façon dont les classes et les objets sont organisés en paquets, les importations, la hiérarchie des classes de Scala, les traits, les types supérieurs, le type Nothing, les exceptions et comprend un exercice sur la détermination de type.
Se concentre sur la mise en œuvre d'un vérificateur de type pour Amy, couvrant l'analyse des noms et des types, la génération de contraintes de frappe et l'importance de la vérification de type dans la compilation.
Explore le sous-typage, le calcul de type et le calcul de limites de type dans un système avec sous-typage, guidant à travers des exercices et des preuves étape par étape.