Agda Implementors' Meeting XLI

The forty-first Agda Implementors' Meeting (AIM XLI) will take place in Angers, France from 2025-11-24 to 2025-11-29 (Mon to Sat). The meeting will be similar to previous ones:

  • Presentations concerning theory, implementation, and use cases of Agda.
  • Discussions around issues of the Agda language.
  • Plenty of time to work on or in Agda, in collaboration with the other participants.

Program

Sunday, 23 November
18:30-Dinner (tba)
Monday, 24 November
9:30Introduction Round, Talk Schedule
10:30Coffee break
11:00Talk 1
12:30Lunch
14:00Code sprints / discussions
15:30Coffee break
16:00Code sprints / discussions
17:30Wrap up meeting
Tuesday, 25 November
9:30Talk 2
10:30Coffee break
11:00Talk 3
12:30Lunch
14:00Code sprints / discussions
15:30Coffee break
16:00Code sprints / discussions
17:30Wrap up meeting
Wednesday, 26 November
9:30Talk 4
10:30Coffee break
11:00Code sprints / discussions
12:00Lunch
13:00Excursion (tbd)
Thursday, 27 November
9:30Talk 5
10:30Coffee break
11:00Talk 6
12:30Lunch
14:00Code sprints / discussions
15:30Coffee break
16:00Code sprints / discussions
17:30Wrap up meeting
Friday, 28 November
9:30Talk 7
10:30Coffee break
11:00Talk 8
12:30Lunch
14:00Code sprints / discussions
15:30Coffee break
16:00Code sprints / discussions
17:30Wrap up meeting
Saturday, 29 November
10:00Code sprints / discussions
10:30Coffee break
11:00Talk 9
12:30Lunch
14:00Code sprints / discussions
15:30Coffee break
16:00Final wrap up meeting

Registration

Registering for the meeting is free but mandatory. There is a soft registration deadline on 24 October. Registrations might be closed after this date due to the limited capacity of the room (30 people), so register soon!

To register, you can fill out the following form and send it to j.g.h.cockx@tudelft.nl. Please advise us, if you don't want your name to be added to this webpage. You can also (if you are okay with your name being public) directly fill your name in the section participants on this webpage using the edit option for it. In this case, you can also directly add a talk / discussion / code sprint proposal by copy and pasting the box examples.

If there is demand for it, it might be possible to attend online. Please contact the organizers directly so we can make the necessary preparations.

to: j.g.h.cockx@tudelft.nl
Subject: Registration for AIM XLI
  • Name:
  • Online or In person:
  • Add my name to the Meeting webpage (yes/no):
  • Affiliation:
  • If you wish to give a talk:
    • Title
    • Short Abstract (Optional)
  • If you wish to suggest a discussion topic:
    • Topic
    • Short Description (Optional)
  • If you wish to suggest a code sprint:
    • Proposal
    • Short Description (Optional)
  • Other comments:

Participants

  • Nicolas Pouillard, local organizer
  • Jesper Cockx (TU Delft), co-organizer
  • Vojta Štěpančík (INRIA)
  • Yee-Jian Tan (KU Leuven)
  • Henry Blanchette (University of Maryland)
  • Ana Pantilie (IOG)
  • Jacco Krijnen (IOG)
  • Peter Mosses (TU Delft)
  • Nathaniel Burke (TU Delft)
  • Andrei Duma (Dumco Digital)
  • Iulia Dumitru
  • Andreas Abel (Chalmers & U Gothenburg)
  • András Kovács (Chalmers & U Gothenburg)
  • Naim Favier (Chalmers & U Gothenburg)
  • Amélia Liao
  • Áron Szabó

Talk proposals


Please add your proposals here by editing this webpage (using the edit button). You can refer to examples from previous Agda Implementors meetings.

Certified Compilation of Untyped Plutus Core
Ana Pantilie
Untyped Plutus Core (UPLC) is the language evaluated on the Cardano blockchain, therefore it is the compilation target for all Cardano smart contract languages, such as Plinth. Based on Jacco Krijnen's work on Translation certification for smart contracts, we have implemented (in Agda and Haskell) a proof-of-concept certifier for the UPLC optimisation phase of the Plinth compiler. This component produces compilation certificates in the form of Agda proofs.
Postulating Domains for Lightweight Formalization of Denotational Semantics
Peter Mosses
For lightweight formalization of denotational semantics, we treat ordinary Agda types as domains, and postulate required properties (such as the existence of least elements, and of a function that returns fixed points of arbitrary endofunctions). Current examples using such a formalization include the untyped λ-calculus, PCF, and a simple sublanguage of Scheme. It appears that the unsoundness of the postulates does not affect the Agda type-checker. In the talk, after illustrating the simplicity of lightweight formalization, we consider the possibility of replacing the current postulates by sound postulates for synthetic domain theory in Agda.
What's new in Agda2Hs
Jesper Cockx
Agda2Hs is an Agda backend for producing verified and readable Haskell code from a restricted subset of Agda. It makes extensive use of erasure annotations (aka the 0 quantity from QTT) to decide which parts of a program should be erased during the translation to Haskell. In this talk I would like to highlight a few of the different options that Agda2Hs provides to further tweak the generated Haskell code. In particular: unboxed records (records that compile to the value of their unique non-erased field), tuple records (records that are compiled to a Haskell tuple), inline functions (functions that can be reduced away before translation), and compile-to pragmas (compiling multiple data types or functions to the same Haskell definition). I also want to take this opportunity to call for help with some of the currently open issues in Agda2Hs.
Talk title
Speaker
(no abstract yet)
Numerical instability or something more fundamental?
Áron Szabó
(no abstract yet)

Location

The location is La Bulle en Bois and is a so-called Third Place. Namely, a hybrid combination of work and non-work activities. The place includes:

  • A coworking place with shared offices and meeting rooms.
  • A canteen with locally cooked food (vegan & organic)
  • A fablab (3d printing, laser cutting)

Address: 11 rue Alexandre Fleming 49000 ANGERS

Lunch: Lunch is available on site on week days, cooking here is vegan and we have alternatives.

Travel to Angers

Best recommendations to travel to Angers : How do I get to Angers?.

Getting around in Angers

Irigo is the name of the transportation network in Angers. Maps and itineraries are on there website : Irigo.fr.

By Tram

La Bulle en Bois is located next to the university campus, hence easily reachable by Tram. The stop is called Belle-Beille Campus, this is the terminus of line C.

For instance there is a direct connection from the main train station Gare Angers Saint-Laud and it is a 22min ride.

By Bike

The city is bike friendly, you can rent one either for your whole stay of for each ride : Rent a bike in Angers.

From the main train station to La Bulle en Bois, this is 18min ride.

Accommodation

tba

Excursion

tba

Sponsorship

The location for the meeting is provided free of charge very kindly by La Bulle en Bois.


Discussions and code sprints

Using Agda macros as interactive tactics
Henry Blanchette
It should be possible to use Agda's macro capabilities to emulate the features of interactive tactics LTac in Coq/Rocq. Agda's typed holes already get almost all the way there; they just need to handle interactive holes well!
Adding sort & erasure information to treeless syntax
Jesper Cockx
See issues #753, #4193, #4733, and #5315
Implement local rewrite rules
Jesper Cockx
See https://github.com/TheoWinterhalter/local-comp
Generating websites from literate Agda
Peter Mosses
The Makefile in https://github.com/pdmosses/xds-agda generated the website at https://pdmosses.github.io/xds-agda/ from plain and literate Agda files. Would it be of interest to generate such a website from the README modules in the Agda standard library? See https://pdmosses.github.io/agda-stdlib/ for an initial proposal.
Code sprint title
Participants
short description
  • ...

Wrap-up notes

Code sprint 1

  • Monday: ...
  • Tuesday: ...

Code sprint 2

  • Monday: ...
  • Tuesday: ...
Page last modified on October 19, 2025, at 02:40 pm
Powered by PmWiki