λ · remote 10 : Des zippers et des types & Catala
Details
Code secret : 865175
Lien Zoom dispo après inscription
---
# Des zippers et des types, par Florian Angeletti
Les zippers sont une famille de structures de données qui permettent de représenter concrètement une navigation au sein d'une structure de donnée parente. Un exemple de zipper de liste serait : `1⇒2⇒3⇒4, Ici(5), 6⇒7`. Au-delà des listes et des arbres binaires, les choses se compliquent lorsqu'on commence à naviguer dans des types algébriques mutuellement récursifs : le type sous le curseur de navigation dépend du chemin qu'on a pris pour arriver jusqu'à lui. Nous verrons dans cette présentation comment les types algébriques généralisés (GADTs) apportent une solution naturelle à ce problème de dépendance entre donnée et types. De plus cet approche permet d'aborder les-dits GADTs dans un cadre différent des sempiternels interpréteurs de langage jouet.
Florian Angeletti est Ingénieur de recherche à l'Inria Paris dans l'équipe Cambium. Il travaille sur le compilateur OCaml, au niveau du système de type, des messages d'erreur; mais aussi autour des questions de release management.
# Catala, un langage fonctionnel dédié pour formaliser le droit fiscal, par Denis Merigoux
Un certain nombre d'administrations et d'entreprises maintiennent des programmes informatiques afin de calculer des montants d'impôt, allocations, cotisations, pensions, etc. à partir de données de leurs usagers. Transformer les textes de loi qui régissent ces calculs en code est une tâche très difficile, car elle requiert une double expertise juridique et informatique. De plus, la complexité inhérente des textes de loi et leur style de rédaction empêche activement la constitution d'une base de code saine et maintenable.
En s'inspirant des travaux de Sarah Lawsky, professeure de droit fiscal et titulaire d'un doctorat en logique, le langage dédié Catala propose un nouveau processus de transformation de la loi en code, basé sur la programmation littéraire et en binôme. Le compilateur de Catala, basé sur une sémantique formelle du langage, permet également l'intégration du code dans virtuellement n'importe quelle architecture legacy grâce à la compilation. Le projet est soutenu par une équipe interdisciplinaire comprenant notamment Denis Merigoux, doctorant en informatique à l'Inria et Liane Huttner, doctorante en droit à Paris I.
Denis Merigoux est doctorant à l'Inria au sein de l'équipe Prosecco, sous la supervision de Karthikeyan Bhargavan et Jonathan Protzenko, spécialisé dans l'étude des langages de programmations et de la vérification formelle. Son sujet de thèse porte sur la vérification déductive de programmes écrits dans le langage Rust, au moyen d'une logique de séparation semi-automatisée à l'intérieur du framework F*. En parallèle de ce sujet principal, Denis s'intéresse à la manière d'appliquer les méthodes formelles dans le domaine de l'informatique juridique
--
Code secret : 865175
Lien Zoom dispo après inscription
