Type checking and type inference are fundamentally similar problems. However, the algorithms for performing the two operations, on the same type system, often differ significant...
Abstract. The λ-calculus with de Bruijn indices, called λdB, assembles each α-class of λ-terms into a unique term, using indices instead of variable names. Intersection types p...
Compilers for polymorphic languages can use runtime type inspection to support advanced implementation techniques such as tagless garbage collection, polymorphic marshalling, and ...
Method inheritance and data abstraction are central features of objectoriented programming that are attained through a hierarchical organization of classes. Recent studies have sh...
This article presents a polymorphic modal type system and its principal type inference algorithm that conservatively extend ML by all of Lisp's staging constructs (the quasi-...