Couvre l'étude mathématique des comportements de programme, l'analyse, les langages spécifiques à un domaine et les outils puissants de conception de langage.
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.
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.
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.
Introduit des enregistrements, des variantes, des règles d'évaluation, des règles de dactylographie, des défis d'aliasing et des avantages dans les langages de programmation.
Couvre la syntaxe et les règles de dactylographie dans les langages de programmation, en discutant de l'aliasing, de la mutabilité et de l'emplacement des magasins.
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.
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.
Explore les fonctionnalités de base de la programmation orientée objet, y compris la répartition dynamique, l'encapsulation, l'héritage et le sous-typage, en utilisant des exemples Java et des informations pratiques.