ICFP 2025
Sun 12 - Sat 18 October 2025
Singapore
co-located with
ICFP/SPLASH 2025
Toggle navigation
Attending
Venue (Sunday Workshops): NUS School of Computing
Venue (FARM Performance): Yong Siew Toh Conservatory
Venue (Main Conference): Marina Bay Sands Convention Centre
Hotels: Concorde Hotel Singapore
Hotels: Wyndham Singapore Hotel
Hotels: Rendezvous Hotel Singapore
ICFP/SPLASH 2025
Code of Conduct
Call for Sponsorship
Registration
Travel Information
Explore Singapore
Outdoor Activities
Information for Presenters at National University of Singapore
Information for Presenters at Marina Bay Sands
Information for Session Chairs
Information for Attendees
Program
ICFP/SPLASH Program
Your Program
Filter by Day
Sun 12 Oct
Mon 13 Oct
Tue 14 Oct
Wed 15 Oct
Thu 16 Oct
Fri 17 Oct
Sat 18 Oct
Tracks
ICFP 2025
ICFP Artifacts
ICFP Keynotes
ICFP Papers
ICFP Student Research Competition
JFP First Papers
Diversity, Equity, and Inclusion
ICFP/SPLASH 2025
Tutorials
Volunteers
Workshops
Co-hosted Conferences
MPLR
SPLASH
SPLASH
SPLASH
Doctoral Symposium
SPLASH
FARM
SPLASH
OOPSLA
SPLASH
OOPSLA Artifacts
SPLASH
Onward! Essays
SPLASH
Onward! Papers
SPLASH
Posters
SPLASH
Keynotes
SPLASH
-E
SPLASH
Student Research Competition
Workshops
Erlang
FARM
FUNARCH
HATRA
HOPE
IWACO
LMPL
miniKanren
ML Family Workshop
OCaml
OlivierFest
PAINT
PLMW @ ICFP/SPLASH
PROPL
REBASE
Scheme
Sponsor Invited Talks
The Scala Workshop
The Scala Workshop
- Where Are We With Scala's Capabilities?
- Simpler Scala Builds with Functional and Object-Oriented Programming
TyDe
VMIL
WebAssembly Workshop
@ ICFP/SPLASH
Co-hosted Symposia
Haskell
SAS
SAS
SAS
Artifact
Organization
ICFP 2025 Committees
Organizing Committee
Steering Committee
Distinguished Papers Committee
Track Committees
ICFP Artifacts
ICFP Papers
ICFP Student Research Competition
ICFP/SPLASH
Volunteers
Workshops
Contributors
People Index
Co-hosted Conferences
MPLR
Program Committee
Steering Committee
SPLASH
Organizing Committee
Steering Committee
Doctoral Symposium
FARM
Organizing Committee
FARM
Program Committee
OOPSLA
OOPSLA Review Committee
OOPSLA
External Review / Artifact Evaluation Committee
OOPSLA Artifacts
Onward! Essays
Program Committee
Onward! Essays
Onward! Steering Committee
Onward! Papers
Program Committee
Onward! Papers
Steering Committee
Posters
SPLASH-E
Program Commitee
SPLASH-E
Steering Committee
Student Research Competition
Competition Judges
Student Research Competition
Review Committee
Workshops
Erlang
Organizing Committee
Program Committee
FARM
Organizing Committee
FUNARCH
Program Committee
HATRA
Organizing Committee
Program Committee
HOPE
Program Committee
IWACO
Organizing Committee
LMPL
Organizing Committee
Keynote Speaker
Program Committee
miniKanren
Organizing Committee
Program Committee
ML Family Workshop
Program Committee
OCaml
Program Committee
OlivierFest
Program Committee
PAINT
Organizing Committee
Program Committee
PLMW @ ICFP/SPLASH
Program Committee
PROPL
Program Committee
Organising Committee
REBASE
Organizing Committee
Scheme
Organizing Committee
Program Committee
Sponsor Invited Talks
Organizing Committee
The Scala Workshop
Organizing Committee
Program Committee
TyDe
Organising Committee
Program Committee
VMIL
Organizing Committee
Program Committee
WebAssembly Workshop
Organizers
Program Committee
Co-hosted Symposia
Haskell
Program Committee
SAS
SAS 2025
Program Committee
SAS 2025
Steering Committee
SAS Artifact
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/SPLASH 2025
(
series
) /
ICFP 2025
(
series
) /
Marina Bay Sands Convention Centre
/
Room information: Peony SW
Venue
Marina Bay Sands Convention Centre
Room name
Peony SW
Floor
4
Room number
4511
Capacity
80
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+08:00) Perth
.
Use conference time zone: (GMT+08:00) Perth
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-05: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-03: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+10:30) Adelaide
(GMT+09:30) Darwin
(GMT+10:00) Brisbane
(GMT+11:00) Hobart
(GMT+10:00) Vladivostok
(GMT+11:00) Lord Howe Island
(GMT+11:00) Solomon Is., New Caledonia
(GMT+11:00) Magadan
(GMT+12:00) Norfolk Island
(GMT+12:00) Anadyr, Kamchatka
(GMT+13:00) Auckland, Wellington
(GMT+12:00) Fiji, Kamchatka, Marshall Is.
(GMT+13: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
Thu 16 Oct
Displayed time zone:
Perth
change
10:30 - 12:15
Types and monads
Haskell
at
Peony SW
Chair(s):
Liam O'Connor
Australian National University
10:30
5m
Day opening
Welcome
Haskell
Ningning Xie
University of Toronto
,
J. Garrett Morris
University of Iowa
10:35
30m
Research paper
Freer Arrows and Why You Need Them in Haskell
Haskell
Grant VanDomelen
Portland State University, USA
,
Gan Shen
University of California at Santa Cruz
,
Lindsey Kuper
University of California, Santa Cruz
,
Yao Li
Portland State University
Pre-print
11:05
30m
Research paper
Lightweight Testing of Persistent Amortized Time Complexity in the Credit Monad
Haskell
Anton Lorenzen
University of Edinburgh
Pre-print
11:35
30m
Research paper
The Calculated Typer (Functional Pearl)
Haskell
Zac Garby
University of Nottingham
,
Patrick Bahr
IT University of Copenhagen
,
Graham Hutton
University of Nottingham
13:45 - 15:30
Keynote + Research paper
Haskell
at
Peony SW
Chair(s):
Arnaud Spiwack
Tweag
13:45
70m
Keynote
Join points in practice
Keynote
Haskell
Simon Peyton Jones
Epic Games
15:00
30m
Research paper
Automatic C bindings generation for Haskell
Haskell
Travis Cardwell
Well-Typed LLP
,
Sam Derbyshire
Well-Typed LLP
,
Edsko de Vries
Well-Typed LLP
,
Dominik Schrempf
Well-Typed LLP
16:00 - 17:30
Compiler
Haskell
at
Peony SW
16:00
30m
Research paper
A Clash Course in Solving Sudoku (Functional Pearl)
Haskell
Gergő Érdi
Standard Chartered Bank
Pre-print
16:30
30m
Research paper
Staging Automatic Differentiation with Fusion
Haskell
Samuel Klumpers
KU Leuven, Belgium
,
Tom Schrijvers
KU Leuven
17:00
20m
Talk
typedKanren: Statically Typed Relational Programming with Exhaustive Matching in Haskell
Haskell
Nikolai Kudasov
Innopolis University
,
Artem Starikov
Innopolis University
Fri 17 Oct
Displayed time zone:
Perth
change
10:30 - 12:15
Language design
Haskell
at
Peony SW
Chair(s):
Gergő Érdi
Standard Chartered Bank
10:30
30m
Research paper
Rebound: Efficient, expressive, and well-scoped binding
Haskell
Noé De Santo
University of Pennsylvania
,
Stephanie Weirich
University of Pennsylvania
Pre-print
11:00
30m
Research paper
Total Type Classes
Haskell
Robert Weingart
Imperial College London
,
Nicolas Wu
Imperial College London
11:30
20m
Talk
Four Years of Embedded Haskell in Critical Real-Time Systems: Lessons and Insights
Haskell
Justin Le
11:50
20m
Talk
Haskell equations, thirty-eight years later
Haskell
Philip Wadler
University of Edinburgh
13:45 - 15:30
Keynote + Research paper
Haskell
at
Peony SW
13:45
70m
Keynote
A Tale of Two Lambdas: A Haskeller's Journey into OCaml
Keynote
Haskell
Richard A. Eisenberg
Jane Street
15:00
30m
Research paper
Plinth: A Plugin-Powered Language Built on Haskell (Experience Report)
Haskell
Ziyang Liu
Input Output, USA
,
Kenneth MacKenzie
Input Output, United Kingdom
,
Roman Kireev
Input Output, United Kingdom
,
Michael Peyton Jones
Input Output, United Kingdom
,
Philip Wadler
University of Edinburgh
,
Manuel M. T. Chakravarty
IOHK
16:00 - 17:30
Talks
Haskell
at
Peony SW
16:00
20m
Talk
Adaptive Search Synthesis as a Recursion Scheme
Haskell
Lucas Bang
Harvey Mudd College
,
Xuehuai He
Yale University
,
Eli Pregerson
Stony Brook University
,
Jimmy Chen
Stanford University
,
Emma Gandonou
Pomona College
16:20
20m
Talk
Derive class instances topdown and derive ttg automatically
Haskell
Song Zhang
None
16:40
20m
Talk
Machine Learning Primitives as Algebraic Effects
Haskell
Justin Le
17:00
5m
Day closing
Chair's report
Haskell
Ningning Xie
University of Toronto
,
J. Garrett Morris
University of Iowa
Sat 18 Oct
Displayed time zone:
Perth
change
10:30 - 12:15
REBASE
REBASE
at
Peony SW
Chair(s):
Filip Křikava
Czech Technical University in Prague
,
Ben L. Titzer
Carnegie Mellon University
10:30
65m
Talk
Carbon: from C++ to Memory Safety
REBASE
Chandler Carruth
Google
11:40
35m
Talk
From Facts to Theories: Deductive Databases with Mangle Datalog
REBASE
Burak Emir
Google
13:45 - 15:30
REBASE
REBASE
at
Peony SW
Chair(s):
Filip Křikava
Czech Technical University in Prague
,
Ben L. Titzer
Carnegie Mellon University
13:45
65m
Talk
On creating a virtual machine for Verse, a language for programming in a shared real-time 3D simulation
REBASE
Saam Barati
Epic Games
14:55
35m
Talk
ZJIT: Building a New JIT Compiler for Ruby
REBASE
Takashi Kokubun
Shopify
16:00 - 17:30
REBASE
REBASE
at
Peony SW
Chair(s):
Filip Křikava
Czech Technical University in Prague
,
Ben L. Titzer
Carnegie Mellon University
16:00
60m
Talk
The Saga of Multicore OCaml
REBASE
Yaron Minsky
Thu 16 Oct
Displayed time zone:
Perth
change
Room
10:00
30
11:00
30
12:00
30
13:00
30
14:00
30
15:00
30
16:00
30
17:00
30
Peony SW
Haskell
Types and monads
Haskell
Keynote + Research paper
Haskell
Compiler
Fri 17 Oct
Displayed time zone:
Perth
change
Room
10:00
30
11:00
30
12:00
30
13:00
30
14:00
30
15:00
30
16:00
30
17:00
30
Peony SW
Haskell
Language design
Haskell
Keynote + Research paper
Haskell
Talks
Sat 18 Oct
Displayed time zone:
Perth
change
Room
10:00
30
11:00
30
12:00
30
13:00
30
14:00
30
15:00
30
16:00
30
17:00
30
Peony SW
REBASE
REBASE
REBASE
REBASE
REBASE
REBASE
Thu 16 Oct
Displayed time zone:
Perth
change
Room
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
Peony SW
Haskell
Welcome
10:30 - 10:35
Haskell
Freer Arrows and Why You Need Them in Haskell
10:35 - 11:05
Haskell
Lightweight Testing of Persistent Amortized Time Complexity in the Cred ...
11:05 - 11:35
Haskell
The Calculated Typer (Functional Pearl)
11:35 - 12:05
Haskell
Keynote
Join points in practice
13:45 - 14:55
Haskell
Automatic C bindings generation for Haskell
15:00 - 15:30
Haskell
A Clash Course in Solving Sudoku (Functional Pearl)
16:00 - 16:30
Haskell
Staging Automatic Differentiation with Fusion
16:30 - 17:00
Haskell
typedKanren: Statically Typed Relational Programming with Exhaustive Ma ...
17:00 - 17:20
Fri 17 Oct
Displayed time zone:
Perth
change
Room
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
Peony SW
Haskell
Rebound: Efficient, expressive, and well-scoped binding
10:30 - 11:00
Haskell
Total Type Classes
11:00 - 11:30
Haskell
Four Years of Embedded Haskell in Critical Real-Time Systems: Lessons a ...
11:30 - 11:50
Haskell
Haskell equations, thirty-eight years later
11:50 - 12:10
Haskell
Keynote
A Tale of Two Lambdas: A Haskeller's Journey into OCaml
13:45 - 14:55
Haskell
Plinth: A Plugin-Powered Language Built on Haskell (Experience Report)
15:00 - 15:30
Haskell
Adaptive Search Synthesis as a Recursion Scheme
16:00 - 16:20
Haskell
Derive class instances topdown and derive ttg automatically
16:20 - 16:40
Haskell
Machine Learning Primitives as Algebraic Effects
16:40 - 17:00
Haskell
Chair's report
17:00 - 17:05
Sat 18 Oct
Displayed time zone:
Perth
change
Room
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
Peony SW
REBASE
Carbon: from C++ to Memory Safety
10:30 - 11:35
REBASE
From Facts to Theories: Deductive Databases with Mangle Datalog
11:40 - 12:15
REBASE
On creating a virtual machine for Verse, a language for programming in ...
13:45 - 14:50
REBASE
ZJIT: Building a New JIT Compiler for Ruby
14:55 - 15:30
REBASE
The Saga of Multicore OCaml
16:00 - 17:00
x
Thu 9 Oct 22:32