Explore l'application pratique de la théorie du langage, y compris le tri rapide, le typage progressif et la gestion efficace de la mémoire, ainsi que les défis de la synthèse des programmes de réduction.
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.
Introduit Iris, un cadre logique pour raisonner sur la sécurité et l'exactitude des programmes impératifs d'ordre supérieur simultanés, en mettant l'accent sur ses caractéristiques et applications uniques.
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.
Explique les concepts essentiels des fonctions dans la programmation C, y compris les définitions, les prototypes et les techniques de passage d'arguments.
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.
Explique les différences entre les pointeurs et les références en programmation, en se concentrant sur leurs définitions, leurs utilisations et leurs limites en C et C ++.
Explore les limites impératives de la programmation, les théories sans mutation, les principes de programmation fonctionnelle et l'histoire des langages fonctionnels.