ICFP 2024
Mon 2 - Sat 7 September 2024
Milan, Italy
Toggle navigation
Attending
Venue: Allianz MiCo (Milano Convention Centre)
Call For Sponsorship
Travel Information
Local Information
Accommodation
Registration
Code of Conduct
Virtual participation
Instructions for Presenters
Visas
Program
ICFP Program
Your Program
Mon 2 Sep
Tue 3 Sep
Wed 4 Sep
Thu 5 Sep
Fri 6 Sep
Sat 7 Sep
Tracks
ICFP 2024
Artifact Evaluation
Diversity, Equity, and Inclusion
ICFP Papers and Events
ICFP Programming Contest
ICFP Tutorials
ICFP Workshops
JFP First Papers
Student Research Competition
Volunteers
Workshops
Erlang
Erlang
- (Keynote) Environmentally sustainable software and data architectures
FARM
FProPer
FUNARCH
HIW
HOPE
ML
OCaml
Users and Developers Workshop
PLMW @ ICFP
Scheme
TyDe
miniKanren
Co-hosted Symposia
Haskell
Organization
ICFP 2024 Committees
Organizing Committee
Track Committees
Artifact Evaluation
ICFP Papers and Events
ICFP Tutorials
ICFP Workshops
Student Research Competition
Contributors
People Index
Workshops
Erlang
Organizing Committee
Program Committee
FARM
Organizing Committee
Program Committee
FProPer
Program Committee
FUNARCH
Program Committee
HIW
Program Committee
HOPE
Keynote Speaker
Program Committee
ML
Program Committee
OCaml
Program Committee
PLMW @ ICFP
Organizing Committee
Scheme
Organizing Committee
Program Committee
TyDe
Organising Committee
Program Committee
miniKanren
Program Committee
Co-hosted Symposia
Haskell
Program Committee
Search
Series
Series
ICFP 2025
ICFP 2024
ICFP 2023
ICFP 2022
ICFP 2021
ICFP 2020
ICFP 2019
ICFP 2018
ICFP 2017
ICFP 2016
Sign in
Sign up
ICFP 2024
(
series
) /
Allianz MiCo (Milano Convention Centre)
/
Room information: Orange 2
Venue
Allianz MiCo (Milano Convention Centre)
Room name
Orange 2
Capacity
90
Room Information
No extra information available
Program
Detailed Table
Session Timeline
Detailed Timeline
Program Display Configuration
Time Zone
The program is currently displayed in
(GMT+02:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna
.
Use conference time zone: (GMT+02:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna
Select other time zone
(GMT-12:00) AoE (Anywhere On Earth)
(GMT-11:00) Midway Island, Samoa
(GMT-09:00) Hawaii-Aleutian
(GMT-10:00) Hawaii
(GMT-09:30) Marquesas Islands
(GMT-09:00) Gambier Islands
(GMT-08:00) Alaska
(GMT-07:00) Tijuana, Baja California
(GMT-08:00) Pitcairn Islands
(GMT-07:00) Pacific Time (US & Canada)
(GMT-06:00) Mountain Time (US & Canada)
(GMT-06:00) Chihuahua, La Paz, Mazatlan
(GMT-07:00) Arizona
(GMT-06:00) Saskatchewan, Central America
(GMT-05:00) Guadalajara, Mexico City, Monterrey
(GMT-06:00) Easter Island
(GMT-05:00) Central Time (US & Canada)
(GMT-04:00) Eastern Time (US & Canada)
(GMT-04:00) Cuba
(GMT-05:00) Bogota, Lima, Quito, Rio Branco
(GMT-04:00) Caracas
(GMT-04:00) Santiago
(GMT-04:00) La Paz
(GMT-03:00) Faukland Islands
(GMT-04:00) Manaus, Amazonas, Brazil
(GMT-03:00) Atlantic Time (Goose Bay)
(GMT-03:00) Atlantic Time (Canada)
(GMT-02:30) Newfoundland
(GMT-03:00) UTC-3
(GMT-03:00) Montevideo
(GMT-02:00) Miquelon, St. Pierre
(GMT-02:00) Greenland
(GMT-03:00) Buenos Aires
(GMT-03:00) Brasilia, Distrito Federal, Brazil
(GMT-02:00) Mid-Atlantic
(GMT-01:00) Cape Verde Is.
(GMT) Azores
(UTC) Coordinated Universal Time
(GMT+01:00) Belfast
(GMT+01:00) Dublin
(GMT+01:00) Lisbon
(GMT+01:00) London
(GMT) Monrovia, Reykjavik
(GMT+02:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna
(GMT+02:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague
(GMT+02:00) Brussels, Copenhagen, Madrid, Paris
(GMT+01:00) West Central Africa
(GMT+02:00) Windhoek
(GMT+03:00) Athens
(GMT+03:00) Beirut
(GMT+02:00) Cairo
(GMT+03:00) Gaza
(GMT+02:00) Harare, Pretoria
(GMT+03:00) Jerusalem
(GMT+03:00) Minsk
(GMT+03:00) Syria
(GMT+03:00) Moscow, St. Petersburg, Volgograd
(GMT+03:00) Nairobi
(GMT+03:30) Tehran
(GMT+04:00) Abu Dhabi, Muscat
(GMT+04:00) Yerevan
(GMT+04:30) Kabul
(GMT+05:00) Ekaterinburg
(GMT+05:00) Tashkent
(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi
(GMT+05:45) Kathmandu
(GMT+06:00) Astana, Dhaka
(GMT+07:00) Novosibirsk
(GMT+06:30) Yangon (Rangoon)
(GMT+07:00) Bangkok, Hanoi, Jakarta
(GMT+07:00) Krasnoyarsk
(GMT+08:00) Beijing, Chongqing, Hong Kong, Urumqi
(GMT+08:00) Irkutsk, Ulaan Bataar
(GMT+08:00) Perth
(GMT+08:45) Eucla
(GMT+09:00) Osaka, Sapporo, Tokyo
(GMT+09:00) Seoul
(GMT+09:00) Yakutsk
(GMT+09:30) Adelaide
(GMT+09:30) Darwin
(GMT+10:00) Brisbane
(GMT+10:00) Hobart
(GMT+10:00) Vladivostok
(GMT+10:30) Lord Howe Island
(GMT+11:00) Solomon Is., New Caledonia
(GMT+11:00) Magadan
(GMT+11:00) Norfolk Island
(GMT+12:00) Anadyr, Kamchatka
(GMT+12:00) Auckland, Wellington
(GMT+12:00) Fiji, Kamchatka, Marshall Is.
(GMT+12:45) Chatham Islands
(GMT+13:00) Nuku'alofa
(GMT+14:00) Kiritimati
The GMT offsets shown reflect the offsets
at the moment of the conference
.
Time Band
By setting a time band, the program will dim events that are outside this time window. This is useful for (virtual) conferences with a continuous program (with repeated sessions).
The time band will also limit the events that are included in the personal iCalendar subscription service.
Display full program
Specify a time band
-
Save
×
You're viewing the program in a time zone which is different from your device's time zone
change time zone
Mon 2 Sep
Displayed time zone:
Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna
change
09:00 - 10:30
Keynote talk
HOPE
at
Orange 2
09:00
60m
Keynote
An introduction to synthetic guarded domain theory with applications to probabilistic programming languages
HOPE
Rasmus Ejlers Møgelberg
IT University of Copenhagen
Pre-print
11:00 - 12:30
Session 1
HOPE
at
Orange 2
11:00
30m
Talk
Amplifying Contextual Distance in Higher-Order Languages, using the Law of Large Numbers
HOPE
Raphaëlle Crubillé
CNRS
,
Houssein Mansour
Aix-Marseille Université
11:30
30m
Talk
An Incremental Approach to the Semantics of Borrowing
HOPE
Brianna Marshall
Northeastern University
,
Andrew Wagner
Northeastern University
,
John Li
Northeastern University
,
Olek Gierczak
Northeastern University
,
Amal Ahmed
Northeastern University, USA
File Attached
12:00
30m
Talk
Towards a linear functional translation for borrowing
HOPE
Sidney Congard
14:00 - 15:30
Session 2
HOPE
at
Orange 2
14:00
30m
Talk
Effectful Assembly Programming with AsmFX
HOPE
Brian Campbell
University of Edinburgh
,
Sam Lindley
University of Edinburgh
,
Wilmer Ricciotti
University of Edinburgh, UK
,
Ian Stark
The University of Edinburgh
File Attached
14:30
30m
Talk
Logical Relations for Effect Capabilities
HOPE
Patrycja Balik
University of Wrocław
,
Piotr Polesiuk
University of Wrocław
15:00
30m
Talk
Paella: algebraic effects with parameters and their handlers
HOPE
Jesse Sigal
University of Edinburgh
,
Ohad Kammar
University of Edinburgh
,
Cristina Matache
University of Edinburgh
,
Conor McBride
University of Strathclyde
Media Attached
File Attached
16:00 - 17:30
Session 3
HOPE
at
Orange 2
16:00
30m
Talk
Arrows as applicatives in a monad
HOPE
Leo White
Jane Street
File Attached
16:30
30m
Talk
Mechanized monadic equational reasoning for ML references
HOPE
Reynald Affeldt
AIST
,
Jacques Garrigue
Nagoya University
,
Takafumi Saikawa
Nagoya University
File Attached
17:00
30m
Talk
Modularizing Reasoning about AI Capabilities via Abstract Dijkstra Monads
HOPE
Cyrus Omar
University of Michigan
,
Patrick Ferris
University of Cambridge, UK
,
Anil Madhavapeddy
University of Cambridge, UK
File Attached
Fri 6 Sep
Displayed time zone:
Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna
change
09:30 - 10:30
Session 1
ML
at
Orange 2
Chair(s):
David Allsopp
Tarides
09:30
30m
Talk
Designing interrupts for ML and OCaml
ML
Guillaume Munch-Maccagnoni
INRIA
,
Leo White
Jane Street
,
Stephen Dolan
Jane Street
10:00
30m
Talk
Fram: Named Parameters Pushed to the Limit
ML
Patrycja Balik
University of Wrocław
,
Piotr Polesiuk
University of Wrocław
Media Attached
11:00 - 12:30
Session 2
ML
at
Orange 2
Chair(s):
Martin Elsman
University of Copenhagen
11:00
30m
Talk
Is there a use for linear types?
ML
Guillaume Munch-Maccagnoni
INRIA
11:30
30m
Talk
Automatic Differentiation via Effects and Handlers in OCaml
ML
Jesse Sigal
University of Edinburgh
Pre-print
File Attached
12:00
30m
Talk
Rethinking the Value Restriction
ML
Stephen Dolan
Jane Street
14:00 - 15:30
Session 3
ML
at
Orange 2
Chair(s):
Guillaume Munch-Maccagnoni
INRIA
14:00
30m
Talk
Safe Pattern Generation for Multi-Stage Programming
ML
Ethan Range
University of Cambridge
,
Jeremy Yallop
University of Cambridge
Pre-print
Media Attached
14:30
30m
Talk
Pattern-matching on mutable values: danger!
ML
Gabriel Scherer
Université Paris Cité - Inria - CNRS
,
Thomas Réfis
,
Nicholas Roberts
Jane Street
15:00
30m
Talk
Light-speed type unification modulo isomorphisms
ML
Emmanuel Arrighi
Ens Lyon
,
Gabriel Radanne
Inria
File Attached
16:00 - 17:30
Session 4
ML
at
Orange 2
Chair(s):
Jesse Tov
Jane Street Europe
16:00
30m
Talk
Labeled Tuples (Informed Position)
ML
Chris Casinghino
Jane Street
,
Ryan Tjoa
University of Washington
16:30
30m
Talk
Wasm_of_ocaml
ML
Jérôme Vouillon
Sat 7 Sep
Displayed time zone:
Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna
change
09:00 - 10:30
OCaml compiler features and optimizations
OCaml
at
Orange 2
Chair(s):
Stephen Dolan
Jane Street
Live stream:
https://www.youtube.com/watch?v=OuQqblCxJ2Y
09:00
22m
Talk
On the design and implementation of Modular Explicits
in-person
OCaml
Samuel Vivien
INRIA & École Normale Supérieure | Université PSL
,
Didier Rémy
Inria
File Attached
09:22
22m
Talk
Flambda2 Validator
in-person
OCaml
Irene Yoon
Inria
,
Chris Casinghino
Jane Street
File Attached
09:45
22m
Talk
A Non-allocating Option
in-person
OCaml
Richard A. Eisenberg
Jane Street
File Attached
10:07
22m
Talk
Mixed Blocks: Storing More Fields Flat
in-person
OCaml
Nicholas Roberts
Jane Street
File Attached
11:00 - 12:30
OCaml developer experience
OCaml
at
Orange 2
Chair(s):
Gabriel Radanne
Inria
Live stream:
https://www.youtube.com/watch?v=OuQqblCxJ2Y
11:00
22m
Talk
Structured diagnostics for the OCaml compiler
in-person
OCaml
Florian Angeletti
Inria
File Attached
11:22
22m
Talk
Project-wide occurrences for OCaml, a progress report
in-person
OCaml
Ulysse Gérard
Tarides
File Attached
11:45
22m
Talk
Mica: Automated Differential Testing for OCaml Modules
in-person
OCaml
Ernest Ng
Cornell University
,
Harrison Goldstein
University of Maryland College Park
,
Benjamin C. Pierce
University of Pennsylvania
Pre-print
File Attached
12:07
22m
Talk
First-Class Windows: Building a Roadmap for OCaml on Windows
in-person
OCaml
Sudha Parimala
Tarides
,
Benjamin Canou
None
,
Pierre Boutillier
None
,
David Allsopp
Tarides
File Attached
14:00 - 15:30
OCaml 5: progress in the multicore world
OCaml
at
Orange 2
Chair(s):
Ambre Austen Suhamy
Tarides
Live stream:
https://www.youtube.com/watch?v=OuQqblCxJ2Y
14:00
22m
Talk
Picos — Interoperable effects based concurrency
in-person
OCaml
Vesa Karvonen
Tarides
File Attached
14:22
22m
Talk
Distributed Actors in OCaml
remote
OCaml
Wenke DU
LIP ENS Lyon
,
Gabriel Radanne
Inria
,
Ludovic Henrio
University of Lyon - ENS Lyon - UCBL - CNRS - Inria - LIP
File Attached
14:45
22m
Talk
Priodomainslib: Prioritized Fine-grained Parallelism for Multicore OCaml
in-person
OCaml
Stefan K. Muller
Illinois Institute of Technology
File Attached
15:07
22m
Talk
Saturn: a library of verified concurrent data structures for OCaml 5
in-person
OCaml
Clément Allain
Inria
,
Vesa Karvonen
Tarides
,
Carine Morel
Tarides
File Attached
16:00 - 17:30
OCaml ecosystem and applications
OCaml
at
Orange 2
Chair(s):
Pierre Chambart
OCamlPRO
Live stream:
https://www.youtube.com/watch?v=OuQqblCxJ2Y
16:00
22m
Talk
Opam 2.2 and beyond
in-person
OCaml
Raja Boujbel
OCamlPro
,
Kate Deplaix
Consultant for the OCaml Software Foundation and Ahrefs
,
David Allsopp
Tarides
File Attached
16:22
22m
Talk
Recursion schemes in OCaml: An experience report
in-person
OCaml
Tim Williams
Bloomberg
File Attached
16:45
22m
Talk
ChorCaml: Functional Choreographic Programming in OCaml
remote
OCaml
Rokas Urbonas
University of Cambridge
File Attached
17:07
22m
Talk
B · o · B, a universal & secure file-transfer software in OCaml
in-person
OCaml
Romain Calascibetta
robur.coop
File Attached
Mon 2 Sep
Displayed time zone:
Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna
change
Room
9:00
30
10:00
30
11:00
30
12:00
30
13:00
30
14:00
30
15:00
30
16:00
30
17:00
30
Orange 2
HOPE
Keynote talk
HOPE
Session 1
HOPE
Session 2
HOPE
Session 3
Fri 6 Sep
Displayed time zone:
Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna
change
Room
9:00
30
10:00
30
11:00
30
12:00
30
13:00
30
14:00
30
15:00
30
16:00
30
17:00
30
Orange 2
ML
Session 1
ML
Session 2
ML
Session 3
ML
Session 4
Sat 7 Sep
Displayed time zone:
Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna
change
Room
9:00
30
10:00
30
11:00
30
12:00
30
13:00
30
14:00
30
15:00
30
16:00
30
17:00
30
Orange 2
OCaml
OCaml compiler features and optimizations
OCaml
OCaml developer experience
OCaml
OCaml 5: progress in the multicore world
OCaml
OCaml ecosystem and applications
Mon 2 Sep
Displayed time zone:
Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna
change
Room
9:00
15
30
45
10:00
15
30
45
11:00
15
30
45
12:00
15
30
45
13:00
15
30
45
14:00
15
30
45
15:00
15
30
45
16:00
15
30
45
17:00
15
30
45
Orange 2
HOPE
An introduction to synthetic guarded domain theory with applications to ...
09:00 - 10:00
HOPE
Amplifying Contextual Distance in Higher-Order Languages, using the Law ...
11:00 - 11:30
HOPE
An Incremental Approach to the Semantics of Borrowing
11:30 - 12:00
HOPE
Towards a linear functional translation for borrowing
12:00 - 12:30
HOPE
Effectful Assembly Programming with AsmFX
14:00 - 14:30
HOPE
Logical Relations for Effect Capabilities
14:30 - 15:00
HOPE
Paella: algebraic effects with parameters and their handlers
15:00 - 15:30
HOPE
Arrows as applicatives in a monad
16:00 - 16:30
HOPE
Mechanized monadic equational reasoning for ML references
16:30 - 17:00
HOPE
Modularizing Reasoning about AI Capabilities via Abstract Dijkstra Monads
17:00 - 17:30
Fri 6 Sep
Displayed time zone:
Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna
change
Room
9:00
15
30
45
10:00
15
30
45
11:00
15
30
45
12:00
15
30
45
13:00
15
30
45
14:00
15
30
45
15:00
15
30
45
16:00
15
30
45
Orange 2
ML
Designing interrupts for ML and OCaml
09:30 - 10:00
ML
Fram: Named Parameters Pushed to the Limit
10:00 - 10:30
ML
Is there a use for linear types?
11:00 - 11:30
ML
Automatic Differentiation via Effects and Handlers in OCaml
11:30 - 12:00
ML
Rethinking the Value Restriction
12:00 - 12:30
ML
Safe Pattern Generation for Multi-Stage Programming
14:00 - 14:30
ML
Pattern-matching on mutable values: danger!
14:30 - 15:00
ML
Light-speed type unification modulo isomorphisms
15:00 - 15:30
ML
Labeled Tuples (Informed Position)
16:00 - 16:30
ML
Wasm_of_ocaml
16:30 - 17:00
Sat 7 Sep
Displayed time zone:
Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna
change
Room
9:00
15
30
45
10:00
15
30
45
11:00
15
30
45
12:00
15
30
45
13:00
15
30
45
14:00
15
30
45
15:00
15
30
45
16:00
15
30
45
17:00
15
30
45
Orange 2
OCaml
in-person
On the design and implementation of Modular Explicits
09:00 - 09:22
OCaml
in-person
Flambda2 Validator
09:22 - 09:45
OCaml
in-person
A Non-allocating Option
09:45 - 10:07
OCaml
in-person
Mixed Blocks: Storing More Fields Flat
10:07 - 10:30
OCaml
in-person
Structured diagnostics for the OCaml compiler
11:00 - 11:22
OCaml
in-person
Project-wide occurrences for OCaml, a progress report
11:22 - 11:45
OCaml
in-person
Mica: Automated Differential Testing for OCaml Modules
11:45 - 12:07
OCaml
in-person
First-Class Windows: Building a Roadmap for OCaml on Windows
12:07 - 12:30
OCaml
in-person
Picos — Interoperable effects based concurrency
14:00 - 14:22
OCaml
remote
Distributed Actors in OCaml
14:22 - 14:45
OCaml
in-person
Priodomainslib: Prioritized Fine-grained Parallelism for Multicore OCaml
14:45 - 15:07
OCaml
in-person
Saturn: a library of verified concurrent data structures for OCaml 5
15:07 - 15:30
OCaml
in-person
Opam 2.2 and beyond
16:00 - 16:22
OCaml
in-person
Recursion schemes in OCaml: An experience report
16:22 - 16:45
OCaml
remote
ChorCaml: Functional Choreographic Programming in OCaml
16:45 - 17:07
OCaml
in-person
B · o · B, a universal & secure file-transfer software in OCaml
17:07 - 17:30
x
Mon 2 Dec 23:17