Explore les défis liés au sous-typage, aux génériques, aux limites de type, à la variance, à la covariance et à la saisie matricielle en Java et Scala.
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 les techniques de collecte des ordures dans des langages orientés objet, en se concentrant principalement sur la copie et la génération GC, l'organisation des tas, les politiques de promotion et les défis de répartition des méthodes.
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.