• Publications
  • Influence
Types and programming languages
TLDR
This text provides a comprehensive introduction both to type systems in computer science and to the basic theory of programming languages, with a variety of approaches to modeling the features of object-oriented languages. Expand
Algorithmic Learning in a Random World
1. Types and Programming Languages by Benjamin C. Pierce. This is a book about implementing type systems in programming languages. It uses λ-calculus. 2. Information Theory, Inference, and LearningExpand
Featherweight Java: a minimal core calculus for Java and GJ
TLDR
This work extends Featherweight Java with generic classes in the style of GJ and gives a detailed proof of type safety, which formalizes for the first time some of the key features ofGJ. Expand
Featherweight Java: a minimal core calculus for Java and GJ
TLDR
A proof of type safety for Featherweight Java illustrates many of the interesting features of a safety proof for the full language, while remaining pleasingly compact. Expand
Combinators for bidirectional tree transformations: A linguistic approach to the view-update problem
TLDR
A novel approach to the view-update problem for tree-structured data: a domain-specific programming language in which all expressions denote bidirectional transformations on trees that map a concrete tree into a simplified abstract view and a modified abstract view to a correspondingly modified concrete tree. Expand
Dynamic typing in a statically-typed language
TLDR
This paper is an exploration of the syntax, operational semantics, and denotational semantics of a simple language with the type Dynamic, and discusses an operational semantics for this language and obtains a soundness theorem. Expand
Typing and subtyping for mobile processes
TLDR
The authors define the syntax, typing, subtyping, and operational semantics of their calculus, prove that the typing rules are sound, apply the system to Milner's lambda -calculus encodings, and sketch extensions to higher-order process calculi and polymorphic typing. Expand
Mechanized Metatheory for the Masses: The PoplMark Challenge
TLDR
An initial set of benchmarks for measuring progress in this area of programming languages are proposed, based on the metatheory of System F<:, a typed lambda-calculus with second-order polymorphism, subtyping, and records. Expand
Pict: a programming language based on the Pi-Calculus
TLDR
Pict is a strongly-typed concurrent programming language constructed in terms of an explicitly-typing -calculus core language, yielding strong, static typing for a high-level language using the -Calculus as its core. Expand
Engineering formal metatheory
TLDR
This work proposes a novel style for formalizing metatheory, combining locally nameless representation of terms and cofinite quantification of free variable names in inductivedefinitions of relations on terms, leading to developments that are faithful to informal practice, yet require noexternal tool support and little infrastructure within the proof assistant. Expand
...
1
2
3
4
5
...