Illustrating the Mezzo programming language

When programmers want to prove strong program invariants, they are usually faced with a choice between using theorem provers and using traditional programming languages. The former requires them to provide program proofs, which, for many applications, is considered a heavy burden. The latter provides less guarantees and the programmer usually has to write run-time assertions to compensate for the lack of suitable invariants expressible in the type system. We introduce Mezzo, a programming language in the tradition of ML, in which the usual concept of a type is replaced by a more precise notion of a permission. Programs written in Mezzo usually enjoy stronger guarantees than programs written in pure ML. However, because Mezzo is based on a type system, the reasoning requires no user input. In this paper, we illustrate the key concepts of Mezzo, highlighting the static guarantees our language provides.

Data and Resources

Additional Info

Field Value
Source https://inria.hal.science/hal-00910402
Author Protzenko, Jonathan
Maintainer CCSD
Last Updated May 8, 2026, 01:39 (UTC)
Created May 8, 2026, 01:39 (UTC)
Identifier hal-00910402
Language en
contributor Programming languages, types, compilation and proofs (GALLIUM) ; Inria Paris-Rocquencourt ; Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)
creator Protzenko, Jonathan
date 2013-11-27T00:00:00
harvest_object_id e98b1b5b-e29f-4709-9e4f-ce7cb28c40ba
harvest_source_id 3374d638-d20b-4672-ba96-a23232d55657
harvest_source_title test moissonnage SELUNE
metadata_modified 2026-04-28T00:00:00
relation info:eu-repo/semantics/altIdentifier/arxiv/1311.6929
set_spec type:UNDEFINED