JFLA 2025

Journées Francophones des Langages Applicatifs
lieu-dit Saint Hilaire, Roiffé
mardi 28 janvier 2025

vendredi 31 janvier 2025
Vue diurne des façades du Domaine de Roiffé

Actes

Les actes des JFLA 2025 sont disponibles sur HAL. Ils sont téléchargeables depuis le lien ci-dessous.

Les articles sont aussi disponibles, un à un, depuis les liens indiqués dans le programme détaillé.

Dates importantes

Soumission des résumés et articles 16 octobre 2024
Notification aux auteurs 3 décembre 2024
Envoi des versions finales 17 décembre 2024
Inscriptions 4 décembre 2024 - 7 janvier 2025
Conférence 28 janvier 2025 - 31 janvier 2025

Inscription

Les inscriptions sont désormais closes. Pour toute question concernant votre inscription, contactez le comité d'organisation à l'adresse orga-jfla25@irif.fr.

Détails et tarifs [Cliquer pour (dé)plier]
Type d'inscription Montant T.T.C.
Chambre double 590 €
Chambre simple (nombre limité) 670 €
Étudiant·e orateur·ice pour un article accepté (stagiaire de master, personne inscrite en thèse) (chambre double) 0 €
Inscription subventionnée (voir conditions spécifiques) (chambre double) 0 €
Les chambres simples étant disponibles en nombre limité, nous vous demandons de préférer l'inscription en chambre double si possible.
Les exposés scientifiques commencent le mardi 28 janvier au matin. Il est donc conseillé d'arriver sur place le lundi 27 janvier au soir. Les journées se terminent le vendredi 31 janvier, juste après le déjeuner. Les frais d'inscription couvrent l'aller-retour en autocar entre Tours et le Domaine de Roiffé (voir ci-dessous), le logement en chambre individuelle ou double du lundi 27 janvier au vendredi 31 janvier (4 nuits, avec petit-déjeuner), les repas, les collations, l'activité en plein air, et la participation à tous les exposés. Grâce à nos généreux soutiens, l'inscription est gratuite pour :
  • les étudiant·es orateur·ices dont l'article a été accepté,
  • et quelques participants qui obtiendront une subvention après examen de leur demande, et dans la limite des fonds disponibles.
La plateforme Azur Colloque du CNRS gère le processus d'inscription et de règlement des frais aux JFLA 2025.


Conditions spécifiques : inscriptions subventionnées [Cliquer pour (dé)plier]

Les JFLA 2025 proposent un petit nombre d'inscriptions subventionnées pour les personnes souhaitant assister (orateur·ice ou non) aux journées et qui ne disposent pas des ressources financières suffisantes dans le cadre de leurs activités professionnelles (poste permanent ou non) ou à visée professionelle (recherche de poste, en cours de formation, etc).

La subvention est individuelle. Elle couvre entièrement les frais d'inscription au tarif de base en chambre double (soit 590 euros). Les autres frais liés au déplacement (transport, frais annexes durant le trajet, mission) ne sont pas couverts par cette subvention.

Pour candidater, envoyez par courriel au comité d'organisation les informations suivantes :

  • vos nom et prénom,
  • votre statut actuel et votre affiliation éventuelle,
  • votre ville de résidence principale,
  • vos motivations personnelles pour la demande de subvention.
Toutes les informations fournies le sont pour nous permettre de réaliser les arbitrages nécessaires.

Les candidatures sont recevables jusqu'au vendredi 27 décembre 2024.
Les notifications de subvention (accord ou refus) seront communiquées individuellement au plus tard le jeudi 2 janvier 2025.

Le processus de sélection est entièrement bénévole et les fonds disponibles sont limités. Nous comptons sur vous pour ne solliciter une subvention qu'en cas de besoin réel.


Navettes en autocar Tours - Domaine de Roiffé [Cliquer pour (dé)plier]

Pour rejoindre et quitter le site facilement, une navette est prévue pour les participants à l'aller et au retour.
La liaison sera établie entre la gare routière de Tours et le Domaine de Roiffé en autocar (1h15 de trajet). Elle passera par la gare de Saint-Pierre-des-Corps.

  • Aller : lundi 27 janvier, départ de la gare routière de Tours à 18h15, passage par la gare de Saint-Pierre-des-Corps à 18h30, arrivée au domaine à 19h30.
  • Retour : vendredi 31 janvier, départ du domaine à 13h30, passage par la gare de Saint-Pierre-des-Corps, arrivée à Tours à 14h45.


Programme

Exposés invités

Laure Gonnord (Université Grenoble Alpes, Grenoble INP, LCIS) et Gabriel Radanne (Inria)
Optimising data types for fun and performance

Initially present only in functional languages such as OCaml and Haskell, Algebraic Data Types (ADTs) have now become pervasive in mainstream languages, providing nice data abstractions and an elegant way to express functions through pattern matching. Unfortunately, ADTs remain seldom used in low-level programming. One reason is that their increased convenience comes at the cost of abstracting away the exact memory layout of values. Even Rust, which tries to optimize data layout, severely limits control over memory representation.

In this talk, I will present two contributions whose goal are to let programmers specify highly optimized memory layouts for inductive data structures in a flexible and expressive way, while still enjoying high-level programming constructs such as ADTs and pattern matching to manipulate this data.

In the context of Thaïs Baudon’s Phd thesis, we developped a language dubbed ribbit which combines a high-level language, consisting of ADTs, pattern matching and basic manipulation of immutable values, with memory types specifying the precise memory layout of each high-level type, providing full control over the memory representation of values. The language comes with a proven-correct compilation process. This work was partially published at ICFP2023.

We also explored, in the context of Paul Iannetta’s Phd thesis, the optimisation of programs operating on mutable terms stored as arrays. Such representation could take advantage of parallelism opportunities that appear in tree-like structures. We present the language REW, a prototype language with pattern matching, and its compilation process, as a first step to compile pattern matching as parallel in-place modifications of the underlying memory representation. This work was partially published at GPCE 2021.

Hugo Herbelin (Inria)
Calculer avec l'axiome du choix et ses variantes

On peut sans doute dire que l’axiome du choix dans toute sa généralité est le dernier axiome logique standard dont on ne sait pas encore décrire en termes très clairs le contenu calculatoire.

Nous essayerons alors dans cet exposé de synthétiser l’état de l’art dont nous avons connaissance sur la question. En particulier, après un rappel des correspondances de base entre axiomes logiques et concepts de programmation (tel que logique classique = callcc), un rappel de la taxonomie des différentes formes de choix et de leur rôle en mathématiques (Zorn, choix dépendant, récurrence barrée, récurrence bien fondée, lemme de König, décalage de la double négation, thèse de Church, principe de continuité, …), nous décrirons quelques unes des briques de programmation permettant, à défaut de couvrir toute la généralité de l’axiome du choix, de calculer avec certaines variantes de choix, notamment la « récursion barrée » (une distributivité des monades fortes sur les streams) et le « quote » (une primitive d’introspection de code).

Didier Rémy (Inria)
Enseignement de la programmation fonctionnelle en M2 : à la recherche d'un équilibre entre théorie et pratique

Dans cet exposé, je m’appuyerai sur mon expérience d’enseignement de la programmation fonctionelle en M2 dans un cours, partagé avec mes collègues au sein du MPRI, intitulé “Programmation fonctionnelle et systèmes de types” que nous avons fait évoluer au cours du temps. Ce cours, dense, un peu atypique, est orienté vers la métathéorie des langages de programmation, typage et sémantiques, abordée principalement d’un point de vue syntaxique. J’essaierai d’en tirer quelques leçons et de partager avec vous ce que nous avons plus ou moins bien réussi, et de que ce que l’on pourrait certainement mieux faire.

Jocelyn Sérot (Université Clermont Auvergne)
Pourquoi les gens qui font du logiciel sérieusement devraient construire leur propre matériel

On réinterprétera cette phrase d’A. Kay des années 80 dans le contexte des architectures matérielles d’aujourd’hui, et en particulier des possibilités offertes par les circuits reprogrammables de type FPGA (Field Programmable Gate Arrays). On s’attachera notamment à montrer en quoi les concepts fondamentaux qui sous-tendent l’utilisation de ces circuits s’éloignent de ceux qui fondent la programmation des micro-processeurs. Mais aussi comment l’usage de modèles et de langages de programmation adéquats permettent de réduire le fossé ainsi créé et, dès lors, de permettre à des programmeurs non-spécialistes des architectures d’exploiter toutes les potentialités offertes par les circuits FPGA.

L’exposé comprendra deux parties : une première essentiellement didactique, visant à introduire les notions clés en conception de matériel (architecture interne des FPGA, horloges, niveau transfert de registres, langages de description de matériel, synthèse logique, …) et une deuxième présentant quelques solutions répondant aux objectifs sus-cités, certaines issues des travaux de l’auteur.


Programme détaillé

lundi 27 janvier

mardi 28 janvier

  • 09:00 — 09:10
    Adrien Guatto et Marie Kerjean
    Ouverture des JFLA 2025
  • 09:10 — 10:40
    Laure Gonnord (Université Grenoble Alpes, Grenoble INP, LCIS) et Gabriel Radanne (Inria)
    Optimising data types for fun and performance

    Initially present only in functional languages such as OCaml and Haskell, Algebraic Data Types (ADTs) have now become pervasive in mainstream languages, providing nice data abstractions and an elegant way to express functions through pattern matching. Unfortunately, ADTs remain seldom used in low-level programming. One reason is that their increased convenience comes at the cost of abstracting away the exact memory layout of values. Even Rust, which tries to optimize data layout, severely limits control over memory representation.

    In this talk, I will present two contributions whose goal are to let programmers specify highly optimized memory layouts for inductive data structures in a flexible and expressive way, while still enjoying high-level programming constructs such as ADTs and pattern matching to manipulate this data.

    In the context of Thaïs Baudon’s Phd thesis, we developped a language dubbed ribbit which combines a high-level language, consisting of ADTs, pattern matching and basic manipulation of immutable values, with memory types specifying the precise memory layout of each high-level type, providing full control over the memory representation of values. The language comes with a proven-correct compilation process. This work was partially published at ICFP2023.

    We also explored, in the context of Paul Iannetta’s Phd thesis, the optimisation of programs operating on mutable terms stored as arrays. Such representation could take advantage of parallelism opportunities that appear in tree-like structures. We present the language REW, a prototype language with pattern matching, and its compilation process, as a first step to compile pattern matching as parallel in-place modifications of the underlying memory representation. This work was partially published at GPCE 2021.

  • 11:10 — 11:40
    Benjamin Bonneau
    Relational reasoning on monadic semantics [article]
  • 11:40 — 12:10
    Zacharie Moughanim et Lionel Vaux Auclair
    The weak algebraic lambda-calculus [article]
  • 12:10 — 12:30
    Paul Patault , Xavier Denis et Arnaud Golfouse
    Remonter les barrières pour ouvrir une clôture [article]
  • 14:30 — 15:00
    Guillaume Bertholon et Arthur Chargueraud
    Bidirectional Translation between a C-like Language and an Imperative Lambda-calculus [article]
  • 15:00 — 15:20
    Reynald Affeldt
    Prouver que π est irrationnel avec MathComp-Analysis [article]
  • 15:20 — 15:40
    Hugo Férée , Sam van Gool et Yago Iglesias Vazquez
    Formulas Rewritten And Normalized Computationally, And Intuitionistically Simplified [article]
  • 15:40 — 16:00
    Samuel Arsac , Damien Pous et Russ Harmer
    Formalizing adhesive category theory in Rocq [article]
  • 16:30 — 17:00
    Yves Bertot et Thomas Portet
    Chassez le naturel dans la formalisation des mathématiques [article]
  • 17:00 — 17:30
    Quentin Vermande
    Décomposition Algébrique Cylindrique en Coq/Rocq [article]
  • 17:30 — 18:00
    Stefan Monnier
    Reconciling Impredicative Axiom and Universe [article]
  • 18:00 — 18:30
    Arthur Charguéraud , Martin Bodin et Louis Riboulet
    Typechecking of Overloading in Programming Languages and Mechanized Mathematics [article]
  • 18:30 — 18:45
    Annonces du GDR Génie de la Programmation et du Logiciel (GPL) [URL]

mercredi 29 janvier

  • 09:00 — 10:30
    Hugo Herbelin (Inria)
    Calculer avec l'axiome du choix et ses variantes

    On peut sans doute dire que l’axiome du choix dans toute sa généralité est le dernier axiome logique standard dont on ne sait pas encore décrire en termes très clairs le contenu calculatoire.

    Nous essayerons alors dans cet exposé de synthétiser l’état de l’art dont nous avons connaissance sur la question. En particulier, après un rappel des correspondances de base entre axiomes logiques et concepts de programmation (tel que logique classique = callcc), un rappel de la taxonomie des différentes formes de choix et de leur rôle en mathématiques (Zorn, choix dépendant, récurrence barrée, récurrence bien fondée, lemme de König, décalage de la double négation, thèse de Church, principe de continuité, …), nous décrirons quelques unes des briques de programmation permettant, à défaut de couvrir toute la généralité de l’axiome du choix, de calculer avec certaines variantes de choix, notamment la « récursion barrée » (une distributivité des monades fortes sur les streams) et le « quote » (une primitive d’introspection de code).

  • 11:00 — 11:20
    David Monniaux et Sylvain Boulmé
    Safe external calls from formally verified functional code: exiting the monad, and a BDD case study [article]
  • 11:20 — 11:40
    Basile Gros , Pierre Corbineau et Jean-François Monin
    Proxy-based small inversions : a case study in MetaCoq programming [article]
  • 11:40 — 12:00
    Anne Grieu et Jean-Paul Bodeveix
    Encodage du langage mathématique d’Event-B dans Lambdapi [article]

jeudi 30 janvier

  • 09:00 — 10:30
    Didier Rémy (Inria)
    Enseignement de la programmation fonctionnelle en M2 : à la recherche d'un équilibre entre théorie et pratique

    Dans cet exposé, je m’appuyerai sur mon expérience d’enseignement de la programmation fonctionelle en M2 dans un cours, partagé avec mes collègues au sein du MPRI, intitulé “Programmation fonctionnelle et systèmes de types” que nous avons fait évoluer au cours du temps. Ce cours, dense, un peu atypique, est orienté vers la métathéorie des langages de programmation, typage et sémantiques, abordée principalement d’un point de vue syntaxique. J’essaierai d’en tirer quelques leçons et de partager avec vous ce que nous avons plus ou moins bien réussi, et de que ce que l’on pourrait certainement mieux faire.

  • 11:00 — 11:30
    Basile Clément et Gabriel Scherer
    Storable types: free, absorbing, custom [article]
  • 11:30 — 12:00
    Pierre-Evariste Dagand , Jean-Baptiste Menant et Yves Ndiaye
    Can Symmetric Cryptography Be Liberated from the Von Neumann Style? [article]
  • 14:00 — 14:20
    Josué Moreau
    Des briques de calcul formel plus solides avec Capla [article]
  • 14:20 — 14:40
    Louis Gesbert
    L'explication par la paresse [article]
  • 14:40 — 15:00
    Benoît Ballenghien
    HOL-CSP : des erreurs à rattraper [article]
  • 15:00 — 15:20
    Paul Geneau de Lamarlière
    Vérification de bout en bout d'une fonction de bibliothèque mathématique [article]
  • 15:50 — 16:10
    Charlène Gros et Mário Pereira
    Le chameau et le serpent rentrent dans un bar : vérification quasi-automatique de code OCaml en logique de séparation [article]
  • 16:10 — 16:40
    Michele Alberti , François Bobot , Zakaria Chihani , Julien Girard-Satabin , Alban Grastien et Aymeric Varasse
    Composer une salade CAISAR avec des réseaux de neurones et de l’édition de graphe [article]
  • 16:40 — 17:00
    Clément Allain
    Zoo: A framework for the verification of concurrent OCaml 5 programs using separation logic [article]
  • 17:00 — 17:20
    Thierry Marianne , Fred Mesnard et Étienne Payet
    Vers une automatisation de la certification des propriétés de clôture pour Prolog [article]
  • 17:20 — 17:50
    Jean-Christophe Filliâtre , Andrei Paskevich et Henri Saudubray
    Faire chauffer Why3 avec de l’induction [article]
  • 17:50 — 18:00
    Présentation d'OCamlPro [URL]
  • 18:00 — 18:10
    Présentation de la Fondation OCaml [URL]

vendredi 31 janvier

  • 09:00 — 10:30
    Jocelyn Sérot (Université Clermont Auvergne)
    Pourquoi les gens qui font du logiciel sérieusement devraient construire leur propre matériel

    On réinterprétera cette phrase d’A. Kay des années 80 dans le contexte des architectures matérielles d’aujourd’hui, et en particulier des possibilités offertes par les circuits reprogrammables de type FPGA (Field Programmable Gate Arrays). On s’attachera notamment à montrer en quoi les concepts fondamentaux qui sous-tendent l’utilisation de ces circuits s’éloignent de ceux qui fondent la programmation des micro-processeurs. Mais aussi comment l’usage de modèles et de langages de programmation adéquats permettent de réduire le fossé ainsi créé et, dès lors, de permettre à des programmeurs non-spécialistes des architectures d’exploiter toutes les potentialités offertes par les circuits FPGA.

    L’exposé comprendra deux parties : une première essentiellement didactique, visant à introduire les notions clés en conception de matériel (architecture interne des FPGA, horloges, niveau transfert de registres, langages de description de matériel, synthèse logique, …) et une deuxième présentant quelques solutions répondant aux objectifs sus-cités, certaines issues des travaux de l’auteur.

  • 11:00 — 11:30
    Jérémy Damour , Allan Blanchard , Loïc Correnson et Frédéric Loulergue
    Formalisation d’une analyse de région pour Frama-C/WP [article]
  • 11:30 — 11:50
    Léo Andrès et Zhicheng Hui
    Cross-Language Symbolic Runtime Annotation Checking [article]
  • 12:00 — 12:05
    Marie Kerjean et Adrien Guatto
    Clôture des JFLA 2025

Organisation

Comité de programme

Adrien Guatto IRIF, Université Paris Cité Président
Marie Kerjean LIPN, CNRS Vice-présidente
Reynald Affeldt AIST
Aurore Alcolei LACL, Université Paris-Est Créteil
Guillaume Baudart IRIF, Inria Paris
Raja Boujbel OCamlPro
Adrien Champion Anzenlang
Arthur Charguéraud Inria, Université de Strasbourg
Évelyne Contejean LRI, CNRS
Armaël Guéneau LMF, Inria Saclay
Tom Hirschowitz LAMA, CNRS and Université Savoie Mont Blanc
Ambroise Lafont LIX, École polytechnique
Étienne Miquey I2M, Aix-Marseille Université
Stefan Monnier Université de Montréal
Denis Mérigoux Inria Paris
Frédéric Peschanski LIP6, Sorbonne Université
Basile Pesin VERIMAG, Université Grenoble Alpes
Cécilia Pradic Université de Swansea
Xavier Rival DIENS, Inria Paris
Julien Signoles Université Paris-Saclay, CEA, LIST
Arnaud Spiwack Tweag
Yannick Zakowski LIP, Inria Lyon

Volontaires étudiant·e·s

Adrienne Lancelot IRIF, Inria Paris

Comité de pilotage

Zaynah Dargaye Nomadic Labs
Catherine Dubois ENSIIE
Jean-Christophe Filliâtre CNRS, LMF
Louis Mandel IBM Research
Micaela Mayero LIPN, Université Sorbonne Paris Nord
Yann Régis-Gianas Nomadic Labs
Alan Schmitt Inria
Julien Signoles Université Paris-Saclay, CEA, List
Pierre Weis Inria

Soutiens

Cette édition des JFLA bénéficie du soutien des partenaires ci-dessous. Merci à eux !