Auteur / Autrice : | Ambroise Lafont |
Direction : | Nicolas Tabareau, Tom Hirschowitz |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique et applications |
Date : | Soutenance le 02/12/2019 |
Etablissement(s) : | Ecole nationale supérieure Mines-Télécom Atlantique Bretagne Pays de la Loire |
Ecole(s) doctorale(s) : | École doctorale Mathématiques et sciences et technologies de l'information et de la communication (Rennes) |
Partenaire(s) de recherche : | Laboratoire : Gallinette : vers une nouvelle génération d'assistant à la preuve - Département Automatique, Productique et Informatique - Laboratoire des Sciences du Numérique de Nantes |
Jury : | Président / Présidente : Thomas Ehrhard |
Examinateurs / Examinatrices : Nicolas Tabareau, Tom Hirschowitz, Peter LeFanu Lumsdaine, Benedikt Ahrens, Delia Kesner | |
Rapporteurs / Rapporteuses : Peter LeFanu Lumsdaine, Marcelo Fiore |
Mots clés
Mots clés contrôlés
Mots clés libres
Résumé
Cette thèse traite de la spécification et la construction de la syntaxe et sémantique opérationnelle d’un langage de programmation. Nous travaillons avec une notion générale de “signature” pour spécifier des objets d’une catégorie donnée comme des objets initiaux dans une catégorie appropriée de modèles. Cette caractérisation, dans l’esprit de la sémantique initiale, donne une justification du principe de récursion. Les languages avec liaisons, telles que le lambda calcul pur, sont des monades sur la catégorie des ensembles spécifiées parles signatures algébriques classiques. Les premières extensions de syntaxes avec des équations que nous considérons sont des“quotients” de ces signatures algébriques. Ils permettent, par exemple, de spécifier une opération commutative binaire. Cependant, certaines équations, comme l’associativité, semblent hors d’atteinte. Ceci motive la notion de 2-signature qui complète la définition précédente avec la donnée d’un ensemble d’équations. Nous identifions la classe des “2-signatures algébriques” pour lesquelles l’existence de la syntaxe associée est garantie. Finalement, nous abordons la spécification de la sémantique opérationnelle d’un langage de programmation tel que le lambda calcul avec β-réduction. Nous introduisons à cette fin la notion de monade de réduction et leur signatures, puis les généralisons pour aboutir à la notion de monade opérationnelle.