S'intéresse à la vérification de type, à la reconstruction, aux équations, à l'unification, au système Hindley/Milner, au polymorphisme et aux principaux types.
Couvre la sémantique opérationnelle et les stratégies d'évaluation dans le calcul lambda, y compris redex, les stratégies d'évaluation alternatives et les booléens de l'Église.
Couvre la sémantique des langages de programmation, en se concentrant sur le langage Add et le rôle des règles de réécriture et des machines CK dans la compréhension du sens.
Explore l'isomorphisme de Kerry Howard, traduisant des propositions logiques en types et en termes, en mettant l'accent sur la preuve par induction et la préparation à l'examen.
Couvre la compilation de séquences d'instructions, de structures de contrôle, de représentations booléennes et de comparaisons dans la génération de code WebAssembly.
Explore les cartes, les opérateurs de type, l'équivalence, les types de première classe, System Fw, Coq, et les défis de la vérification de type dans les langages de programmation.
Corrige les erreurs courantes avec le type de bool en C++, expliquant son utilisation pour les conditions et fournissant des exemples d'utilisation correcte.
Couvre les bases de la programmation fonctionnelle de Scala, y compris les stratégies d'évaluation, les conditions et les définitions de valeur, en mettant l'accent sur le calcul des racines carrées avec la méthode de Newton.