ICFP 2024
Mon 2 - Sat 7 September 2024 Milan, Italy

PACMPL (ICFP) seeks contributions on the design, implementations, principles, and uses of functional programming, covering the entire spectrum of work, from practice to theory, including its peripheries. Authors of papers published in this issue of PACMPL will present their work at during the in-person conference, providing an opportunity for researchers and developers to hear about the latest work in functional programming.

Dates
Tracks
Plenary
You're viewing the program in a time zone which is different from your device's time zone change time zone

Tue 3 Sep

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

09:00 - 10:00
Tuesday keynoteICFP Papers and Events at Green 1-2-3
Chair(s): Brigitte Pientka McGill University
09:00
60m
Keynote
Requirements are All You Need
ICFP Papers and Events
Andrew D. Gordon Cogna and University of Edinburgh
Link to publication Pre-print File Attached
10:00 - 10:30
Coffee breakCatering at Catering Area
10:30 - 12:00
Algebraic and Computational EffectsICFP Papers and Events / JFP First Papers at Green 1-2-3
Chair(s): Patrick Bahr IT University of Copenhagen
10:30
18m
Talk
Abstracting Effect Systems for Algebraic Effect Handlers
ICFP Papers and Events
Takuma Yoshioka Kyoto University, Taro Sekiyama National Institute of Informatics; SOKENDAI, Atsushi Igarashi Kyoto University
DOI
10:48
18m
Talk
Parallel Algebraic Effect Handlers
ICFP Papers and Events
Ningning Xie University of Toronto; Google DeepMind, Daniel D. Johnson University of Toronto; Google DeepMind, Dougal Maclaurin Google DeepMind, Adam Paszke Google DeepMind
DOI
11:06
18m
Talk
Abstract Interpreters: A Monadic Approach to Modular Verification
ICFP Papers and Events
Sébastien Michelland Université Grenoble-Alpes - Grenoble INP - LCIS, Yannick Zakowski Inria, Laure Gonnord Université Grenoble-Alpes - Grenoble INP - LCIS
DOI Pre-print
11:24
18m
Talk
Algebraic effects and handlers for arrowsJFP First Paper
JFP First Papers
Takahiro Sanada Fukui Prefectural University
11:42
18m
Talk
How to Bake a Quantum Π
ICFP Papers and Events
Jacques Carette McMaster University, Chris Heunen University of Edinburgh, Robin Kaarsgaard University of Southern Denmark, Amr Sabry Indiana University
DOI
12:00 - 13:30
13:00 - 13:30
ICFP programming contest resultsICFP Programming Contest at Green 1-2-3
13:00
30m
Awards
ICFP Contest Results
ICFP Programming Contest

13:30 - 15:00
Type TheoryICFP Papers and Events / JFP First Papers at Green 1-2-3
Chair(s): Brent Yorgey Hendrix College
13:30
18m
Talk
Normalization by evaluation for modal dependent type theoryJFP First Paper
JFP First Papers
Jason Z.S. Hu McGill University, Junyoung Jang McGill University, Brigitte Pientka McGill University
DOI
13:48
18m
Talk
Closure-Free Functional Programming in a Two-Level Type Theory
ICFP Papers and Events
András Kovács University of Gothenburg
DOI Pre-print
14:06
18m
Talk
Gradual Indexed Inductive Types
ICFP Papers and Events
Mara Malewski Correa University of Chile, Kenji Maillard Inria, Nicolas Tabareau Inria, Éric Tanter University of Chile
DOI
14:24
18m
Talk
Dependent Ghosts Have a Reflection for Free
ICFP Papers and Events
DOI
14:42
18m
Talk
Static Blame for gradual typingJFP First Paper
JFP First Papers
Chenghao Su Nanjing University, Lin Chen Nanjing University, Yanhui Li Nanjing University, Yuming Zhou Nanjing University
DOI
15:00 - 15:30
Coffee breakCatering at Catering Area
15:30 - 17:00
Logical FoundationsICFP Papers and Events / JFP First Papers at Green 1-2-3
Chair(s): Kenji Maillard Inria
15:30
18m
Talk
Grokking the Sequent Calculus (Functional Pearl)
ICFP Papers and Events
David Binder University of Tübingen, Marco Tzschentke Universität Tübingen, Marius Müller University of Tübingen, Klaus Ostermann University of Tübingen
DOI
15:48
18m
Talk
Call-by-Unboxed-Value
ICFP Papers and Events
Paul Downen University of Massachusetts at Lowell
DOI
16:06
18m
Talk
A correct-by-construction conversion from lambda calculus to combinatory logic (JFP Functional Pearls)JFP First Paper
JFP First Papers
Wouter Swierstra Utrecht University, Netherlands
DOI
16:24
18m
Talk
On the Operational Theory of the CPS-Calculus: Towards a Theoretical Foundation for IRs
ICFP Papers and Events
Paulo Torrens University of Kent, Dominic Orchard University of Kent; University of Cambridge, Cristiano Vasconcellos Santa Catarina State University
DOI Pre-print
16:42
18m
Talk
Example-Based Reasoning about the Realizability of Polymorphic ProgramsDistinguished Paper
ICFP Papers and Events
Niek Mulleners Utrecht University, Johan Jeuring Utrecht University, Bastiaan Heeren Open Universiteit
DOI Pre-print
17:00 - 17:15
Introduction of Industrial SponsorsICFP Papers and Events at Green 1-2-3
17:15 - 18:15
Memorial for D. Turner & ArvindICFP Papers and Events at Green 1-2-3
Chair(s): Marco Gaboardi Boston University
18:30 - 20:00
ICFP ReceptionCatering at Catering Area

Wed 4 Sep

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

09:00 - 10:00
Wednesday keynoteICFP Papers and Events at Green 1-2-3
Chair(s): Andrew Kennedy Facebook London
09:00
60m
Keynote
Capabilities for Control
ICFP Papers and Events
10:00 - 10:30
Coffee breakCatering at Catering Area
10:30 - 12:00
Meta-Programming, Staging, Generic Programming, Partial EvaluationICFP Papers and Events / JFP First Papers at Green 1-2-3
Chair(s): Richard A. Eisenberg Jane Street
10:30
18m
Talk
Staged Compilation with Module Functors
ICFP Papers and Events
Tsung-Ju Chiang University of Toronto, Jeremy Yallop University of Cambridge, Leo White Jane Street, Ningning Xie University of Toronto; Google DeepMind
DOI Pre-print
10:48
18m
Talk
A Safe Low-Level Language for Computer Algebra and Its Formally Verified Compiler
ICFP Papers and Events
Guillaume Melquiond Université Paris-Saclay - CNRS - ENS Paris-Saclay - Inria, Josué Moreau Université Paris-Saclay - CNRS - ENS Paris-Saclay - Inria
DOI
11:06
18m
Talk
Deriving with Derivatives: Optimizing Incremental Fixpoints for Higher-Order Flow Analysis
ICFP Papers and Events
Benjamin Quiring University of Maryland at College Park, David Van Horn University of Maryland
DOI
11:24
18m
Talk
Compiled, Extensible, Multi-language DSLs (Functional Pearl)Functional Pearl
ICFP Papers and Events
Michael Ballantyne Northeastern University, Mitch Gamburg Unaffiliated, Jason Hemann Seton Hall University
DOI Pre-print
11:42
18m
Talk
Knuth–Morris–Pratt illustrated (JFP Functional Pearls )JFP First Paper
JFP First Papers
Cameron Moy Northeastern University
DOI
12:00 - 13:30
13:30 - 15:00
Separation Logic ICFP Papers and Events at Green 1-2-3
Chair(s): Jacques Garrigue Nagoya University
13:30
18m
Talk
Error Credits: Resourceful Reasoning about Error Bounds for Higher-Order Probabilistic ProgramsDistinguished Paper
ICFP Papers and Events
Alejandro Aguirre Aarhus University, Philipp G. Haselwarter Aarhus University, Markus de Medeiros New York University, Kwing Hei Li Aarhus University, Simon Oddershede Gregersen New York University, Joseph Tassarotti New York University, Lars Birkedal Aarhus University
DOI Pre-print
13:48
18m
Talk
Snapshottable StoresDistinguished Paper
ICFP Papers and Events
Clément Allain Inria, Basile Clément OCamlPro, Alexandre Moine Inria, Gabriel Scherer Université Paris Cité - Inria - CNRS
DOI
14:06
18m
Talk
Almost-Sure Termination by Guarded Refinement
ICFP Papers and Events
Simon Oddershede Gregersen New York University, Alejandro Aguirre Aarhus University, Philipp G. Haselwarter Aarhus University, Joseph Tassarotti New York University, Lars Birkedal Aarhus University
DOI Pre-print
14:24
18m
Talk
Refinement Composition Logic
ICFP Papers and Events
Youngju Song MPI-SWS, Dongjae Lee Seoul National University
DOI
14:42
18m
Talk
Specification and Verification for Unrestricted Algebraic Effects and Handling
ICFP Papers and Events
Yahui Song National University of Singapore, Darius Foo National University of Singapore, Wei-Ngan Chin National University of Singapore
DOI Pre-print
15:00 - 15:30
Coffee breakCatering at Catering Area
15:30 - 16:42
Verification and Cost AnalysisJFP First Papers / ICFP Papers and Events at Green 1-2-3
Chair(s): Clément Pit-Claudel EPFL
15:30
18m
Talk
Story of Your Lazy Function’s Life: A Bidirectional Demand Semantics for Mechanized Cost Analysis of Lazy Programs
ICFP Papers and Events
Li-yao Xia Unaffiliated, Laura Israel Portland State University, Maite Kramarz University of Toronto, Nicholas Coltharp Portland State University, Koen Claessen Chalmers University of Technology, Stephanie Weirich University of Pennsylvania, Yao Li Portland State University
DOI Pre-print
15:48
18m
Talk
Level-p-complexity of Boolean functions using thinning, memoization, and polynomialsJFP First Paper
JFP First Papers
Julia Jansson , Patrik Jansson Chalmers University of Technology and University of Gothenbrug
DOI
16:06
18m
Talk
CCLemma: E-Graph Guided Lemma Discovery for Inductive Equational Proofs
ICFP Papers and Events
Cole Kurashige University of California at San Diego, Ruyi Ji Peking University, Aditya Giridharan University of California at San Diego, Mark Barbone University of California at San Diego, Daniel Noor Technion, Shachar Itzhaky Technion, Ranjit Jhala University of California at San Diego, Nadia Polikarpova University of California at San Diego
DOI
16:24
18m
Talk
Contract Lenses: Reasoning about Bidirectional Programs via CalculationJFP First Paper
JFP First Papers
Hanliang Zhang University of Bristol, UK, Wenhao Tang University of Edinburgh, Ruifeng Xie Peking University, Meng Wang University of Bristol, Zhenjiang Hu Peking University
DOI
17:15 - 18:30
Business MeetingICFP Papers and Events at Green 1-2-3
Chair(s): Marco Gaboardi Boston University
17:15
15m
Other
Remembering Alan Jeffrey
ICFP Papers and Events

17:30
5m
Awards
ICFP 2014 Most Influential Paper Award
ICFP Papers and Events
Marco Gaboardi Boston University
17:35
5m
Awards
Recognition of Distinguished Papers
ICFP Papers and Events
Brigitte Pientka McGill University
17:40
5m
Talk
SRC Awards
ICFP Papers and Events
Kuen-Bang Hou (Favonia) University of Minnesota, J. Garrett Morris University of Iowa
17:45
10m
Other
The functioning of ICFP
ICFP Papers and Events
Sam Lindley University of Edinburgh
File Attached
17:55
5m
Talk
Diversity, equality, and inclusion at ICFP
ICFP Papers and Events
Alejandro Russo Chalmers University of Technology, Sweden / University of Gothenburg, Sweden / DPella AB, Sweden
18:00
10m
Other
General Chair report
ICFP Papers and Events
Marco Gaboardi Boston University
18:10
15m
Other
PC Chair's report
ICFP Papers and Events
Brigitte Pientka McGill University
18:25
5m
Other
ICFP 2025 announcement
ICFP Papers and Events
Ilya Sergey National University of Singapore

Thu 5 Sep

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

09:00 - 10:00
Thursday keynoteICFP Papers and Events at Green 1-2-3
Chair(s): Neel Krishnaswami University of Cambridge
09:00
60m
Keynote
Refinement Types from Light to Deep Verification
ICFP Papers and Events
Niki Vazou IMDEA Software Institute
10:00 - 10:30
Coffee breakCatering at Catering Area
10:30 - 12:00
Refinement Types, Type InferenceICFP Papers and Events / JFP First Papers at Green 1-2-3
Chair(s): Dominic Orchard University of Kent; University of Cambridge
10:30
18m
Talk
The Long Way to Deforestation: A Type Inference and Elaboration Technique for Removing Intermediate Data StructuresDistinguished Paper
ICFP Papers and Events
Yijia Chen Hong Kong University of Science and Technology, Lionel Parreaux HKUST (The Hong Kong University of Science and Technology)
DOI
10:48
18m
Talk
Contextual Typing
ICFP Papers and Events
Xu Xue University of Hong Kong, Bruno C. d. S. Oliveira University of Hong Kong
DOI
11:06
18m
Talk
Synchronous Programming with Refinement Types
ICFP Papers and Events
Jiawei Chen University of Michigan at Ann Arbor, José Luiz Vargas de Mendonça University of Michigan at Ann Arbor, Bereket Shimels Ayele Addis Ababa Institute of Technology, Bereket Ngussie Bekele Addis Ababa Institute of Technology, Shayan Jalili University of Michigan at Ann Arbor, Pranjal Sharma University of Michigan at Ann Arbor, Nicholas Wohlfeil University of Michigan at Ann Arbor, Yicheng Zhang University of Michigan at Ann Arbor, Jean-Baptiste Jeannin University of Michigan at Ann Arbor
DOI
11:24
18m
Talk
Automated Verification of Higher-Order Probabilistic Programs via a Dependent Refinement Type System
ICFP Papers and Events
Satoshi Kura Waseda University, Hiroshi Unno Tohoku University
DOI File Attached
11:42
18m
Talk
Trace contractsJFP First Paper
JFP First Papers
Cameron Moy Northeastern University, Matthias Felleisen Northeastern University
DOI
12:00 - 13:30
13:30 - 15:00
Memory Models / Memory Management / Low-Level LanguagesICFP Papers and Events at Green 1-2-3
Chair(s): Stefan Monnier Université de Montréal
13:30
18m
Talk
Oxidizing OCaml with Modal Memory Management
ICFP Papers and Events
Anton Lorenzen University of Edinburgh, Leo White Jane Street, Stephen Dolan Jane Street, Richard A. Eisenberg Jane Street, Sam Lindley University of Edinburgh
DOI Pre-print
13:48
18m
Talk
A Two-Phase Infinite/Finite Low-Level Memory Model: Reconciling Integer–Pointer Casts, Finite Space, and undef at the LLVM IR Level of Abstraction
ICFP Papers and Events
Calvin Beck University of Pennsylvania, Irene Yoon Inria, Hanxi Chen University of Pennsylvania, Yannick Zakowski Inria, Steve Zdancewic University of Pennsylvania
DOI
14:06
18m
Talk
Double-Ended Bit-Stealing for Algebraic Data Types
ICFP Papers and Events
Martin Elsman University of Copenhagen
Link to publication DOI
14:24
18m
Talk
Beyond Trees: Calculating Graph-Based Compilers (Functional Pearl)Functional Pearl
ICFP Papers and Events
Patrick Bahr IT University of Copenhagen, Graham Hutton University of Nottingham
DOI Pre-print
14:42
18m
Talk
Sound Borrow-Checking for Rust via Symbolic Semantics
ICFP Papers and Events
Son Ho Inria, Aymeric Fromherz Inria, Jonathan Protzenko Microsoft Azure Research
DOI
15:00 - 15:30
Coffee breakCatering at Catering Area
15:30 - 17:00
Distributed Systems, ConcurrencyICFP Papers and Events / JFP First Papers at Green 1-2-3
Chair(s): Michael Sperber Active Group GmbH
15:30
18m
Talk
The Functional, the Imperative, and the Sudoku: Getting Good, Bad, and Ugly to Get Along (Functional Pearl)Functional Pearl
ICFP Papers and Events
Manuel Serrano Inria; Université Côte d’Azur, Robert Bruce Findler Northwestern University
DOI
15:48
18m
Talk
Blame-Correct Support for Receiver Properties in Recursively-Structured Actor Contracts
ICFP Papers and Events
Bram Vandenbogaerde Vrije Universiteit Brussel, Quentin Stiévenart Université du Québec à Montréal, Coen De Roover Vrije Universiteit Brussel
DOI Pre-print
16:06
18m
Talk
A Coq Mechanization of JavaScript Regular Expression Semantics
ICFP Papers and Events
Link to publication DOI Pre-print
16:24
18m
Talk
Alice or Bob?: Process polymorphism in choreographiesJFP First Paper
JFP First Papers
Eva Graversen University of Southern Denmark, Andrew K. Hirsch University at Buffalo, SUNY, Fabrizio Montesi University of Southern Denmark
DOI
16:42
18m
Talk
Functional Programming in Financial Markets (Experience Report)Experience Report
ICFP Papers and Events
Atze Dijkstra Standard Chartered Bank, José Pedro Magalhães Standard Chartered Bank, Pierre Néron Standard Chartered Bank
DOI Pre-print

Unscheduled Events

Not scheduled
Other
PC Chair’s ICFP’24 report and Next ICFP’25!
ICFP Papers and Events

Accepted Papers

Title
Abstracting Effect Systems for Algebraic Effect Handlers
ICFP Papers and Events
DOI
Abstract Interpreters: A Monadic Approach to Modular Verification
ICFP Papers and Events
DOI Pre-print
A Coq Mechanization of JavaScript Regular Expression Semantics
ICFP Papers and Events
Link to publication DOI Pre-print
Almost-Sure Termination by Guarded Refinement
ICFP Papers and Events
DOI Pre-print
A Safe Low-Level Language for Computer Algebra and Its Formally Verified Compiler
ICFP Papers and Events
DOI
A Two-Phase Infinite/Finite Low-Level Memory Model: Reconciling Integer–Pointer Casts, Finite Space, and undef at the LLVM IR Level of Abstraction
ICFP Papers and Events
DOI
Automated Verification of Higher-Order Probabilistic Programs via a Dependent Refinement Type System
ICFP Papers and Events
DOI File Attached
Beyond Trees: Calculating Graph-Based Compilers (Functional Pearl)Functional Pearl
ICFP Papers and Events
DOI Pre-print
Blame-Correct Support for Receiver Properties in Recursively-Structured Actor Contracts
ICFP Papers and Events
DOI Pre-print
Call-by-Unboxed-Value
ICFP Papers and Events
DOI
CCLemma: E-Graph Guided Lemma Discovery for Inductive Equational Proofs
ICFP Papers and Events
DOI
Closure-Free Functional Programming in a Two-Level Type Theory
ICFP Papers and Events
DOI Pre-print
Compiled, Extensible, Multi-language DSLs (Functional Pearl)Functional Pearl
ICFP Papers and Events
DOI Pre-print
Contextual Typing
ICFP Papers and Events
DOI
Dependent Ghosts Have a Reflection for Free
ICFP Papers and Events
DOI
Deriving with Derivatives: Optimizing Incremental Fixpoints for Higher-Order Flow Analysis
ICFP Papers and Events
DOI
Double-Ended Bit-Stealing for Algebraic Data Types
ICFP Papers and Events
Link to publication DOI
Error Credits: Resourceful Reasoning about Error Bounds for Higher-Order Probabilistic ProgramsDistinguished Paper
ICFP Papers and Events
DOI Pre-print
Example-Based Reasoning about the Realizability of Polymorphic ProgramsDistinguished Paper
ICFP Papers and Events
DOI Pre-print
Functional Programming in Financial Markets (Experience Report)Experience Report
ICFP Papers and Events
DOI Pre-print
General Chair report
ICFP Papers and Events
Gradual Indexed Inductive Types
ICFP Papers and Events
DOI
Grokking the Sequent Calculus (Functional Pearl)
ICFP Papers and Events
DOI
How to Bake a Quantum Π
ICFP Papers and Events
DOI
ICFP 2014 Most Influential Paper Award
ICFP Papers and Events
ICFP 2025 announcement
ICFP Papers and Events
On the Operational Theory of the CPS-Calculus: Towards a Theoretical Foundation for IRs
ICFP Papers and Events
DOI Pre-print
Oxidizing OCaml with Modal Memory Management
ICFP Papers and Events
DOI Pre-print
Parallel Algebraic Effect Handlers
ICFP Papers and Events
DOI
PC Chair's report
ICFP Papers and Events
Recognition of Distinguished Papers
ICFP Papers and Events
Refinement Composition Logic
ICFP Papers and Events
DOI
Snapshottable StoresDistinguished Paper
ICFP Papers and Events
DOI
Sound Borrow-Checking for Rust via Symbolic Semantics
ICFP Papers and Events
DOI
Specification and Verification for Unrestricted Algebraic Effects and Handling
ICFP Papers and Events
DOI Pre-print
Staged Compilation with Module Functors
ICFP Papers and Events
DOI Pre-print
Story of Your Lazy Function’s Life: A Bidirectional Demand Semantics for Mechanized Cost Analysis of Lazy Programs
ICFP Papers and Events
DOI Pre-print
Synchronous Programming with Refinement Types
ICFP Papers and Events
DOI
The Functional, the Imperative, and the Sudoku: Getting Good, Bad, and Ugly to Get Along (Functional Pearl)Functional Pearl
ICFP Papers and Events
DOI
The functioning of ICFP
ICFP Papers and Events
File Attached
The Long Way to Deforestation: A Type Inference and Elaboration Technique for Removing Intermediate Data StructuresDistinguished Paper
ICFP Papers and Events
DOI

Call for Papers

PACMPL issue ICFP 2024 seeks original papers on the art and science of functional programming. Submissions are invited on all topics from principles to practice, from foundations to features, and from abstraction to application. The scope includes all languages that encourage functional programming, including both purely applicative and imperative languages, as well as languages with objects, concurrency, or parallelism. Topics of interest include (but are not limited to):

  • Language Design: concurrency, parallelism, and distribution; modularity; components and composition; meta-programming; macros; pattern matching; type systems; type inference; dependent types; effect types; gradual types; refinement types; session types; interoperability; domain-specific languages; imperative programming; object-oriented programming; logic programming; probabilistic programming; reactive programming; generic programming; bidirectional programming.

  • Implementation: abstract machines; virtual machines; interpretation; compilation; compile-time and run-time optimisation; garbage collection and memory management; runtime systems; multi-threading; exploiting parallel hardware; interfaces to foreign functions, services, components, or low-level machine resources.

  • Software-Development Techniques: algorithms and data structures; design patterns; specification; verification; validation; proof assistants; debugging; testing; tracing; profiling; build systems; program synthesis.

  • Foundations: formal semantics; lambda calculus; program equivalence; rewriting; type theory; logic; category theory; computational effects; continuations; control; state; names and binding; program verification.

  • Analysis and Transformation: control flow; data flow; abstract interpretation; partial evaluation; program calculation.

  • Applications: symbolic computing; formal-methods tools; artificial intelligence; systems programming; distributed systems and web programming; hardware design; databases; scientific and numerical computing; graphical user interfaces; graphics and multimedia; GPU programming; scripting; system administration; security.

  • Education: teaching introductory programming; mathematical proof; algebra.

Submissions will be evaluated according to their relevance, correctness, significance, originality, and clarity. Each submission should explain its contributions in both general and technical terms, clearly identifying what has been accomplished, explaining why it is significant, and comparing it with previous work. The technical content should be accessible to a broad audience.

PACMPL issue ICFP 2024 also welcomes submissions in two separate categories — Functional Pearls and Experience Reports — that must be marked as such when submitted and that need not report original research results. Detailed guidelines on both categories are given at the end of this call.

In an effort to achieve a balanced, diverse program, each author may be listed as a (co)author on a maximum of four submissions. Submissions from underrepresented groups are encouraged. Authors who require financial support to attend the conference can apply for PAC funding (http://www.sigplan.org/PAC/).

The General Chair and PC Chair may not submit papers. PC members (other than the PC Chair) may submit papers.

Please contact the Program Chair if you have questions or are concerned about the appropriateness of a topic.

Full Double-Blind Reviewing Process

ICFP 2024 will use a full double-blind reviewing process (similar to the one used for POPL 2024 but different from the lightweight double-blind process used in previous years). This means that identities of authors will not be made visible to reviewers until after conditional-acceptance decisions have been made, and then only for the conditionally-accepted papers. The use of full double-blind reviewing has several consequences for authors.

Submissions: Authors must omit their names and institutions from their paper submissions. In addition, references to authors’ own prior work should be in the third person (e.g., not “We build on our previous work …” but rather “We build on the work of …”).

Supplementary material: Authors are permitted to provide supplementary material (e.g., detailed proofs, proof scripts, system implementations, or experimental data) along with their submission, which reviewers may (but are not required to) examine. This material may take the form of a single file, such as a PDF or a tarball. Authors must fully anonymize any supplementary material. Links to supplementary material on external websites are not permitted.

Author response: In responding to reviews, authors should not say anything that reveals their identity, since author identities will not be revealed to reviewers at that stage of the reviewing process.

Dissemination of work under submission: Authors are welcome to disseminate their ideas and post draft versions of their paper(s) on their personal website, institutional repository, or arXiv (reviewers will be asked to turn off arXiv notifications during the review period). But authors should not take steps that would almost certainly reveal their identities to members of the Program Committee, e.g., directly contacting PC members or publicizing the work on widely-visible social media or major mailing lists used by the community.

The purpose of the above restrictions is to help the Program Committee and external reviewers come to a judgment about the paper without bias, not to make it impossible for them to discover the authors’ identities if they were to try. In particular, nothing should be done in the name of anonymity that weakens the quality of the submission. However, there are occasionally cases where adhering to the above restrictions is truly difficult or impossible for one reason or another. In such cases, the authors should contact the Program Chair to discuss the situation and how to handle it. The FAQ on Double-Blind Reviewing (https://popl24.sigplan.org/track/POPL-2024-popl-research-papers#FAQ-on-Double-Blind-Reviewing) addresses many common scenarios and answers many common questions about this topic. But there remain many grey areas and trade-offs. If you have any doubts about how to interpret the double-blind rules or you encounter a complex case that is not clearly covered by the FAQ, please contact the Program Chair for guidance.

Preparation of submissions

Deadline: The deadline for submissions is Wednesday, 28 February , 2024, Anywhere on Earth (https://www.timeanddate.com/time/zones/aoe). This deadline will be strictly enforced.

Formatting: Submissions must be in PDF format, printable in black and white on US Letter sized paper and interpretable by common PDF tools. All submissions must adhere to the “ACM Small” template that is available (in both LaTeX and Word formats) from https://www.acm.org/publications/authors/submissions.

Please download the latest version of the ACM style from https://www.acm.org/publications/authors/submissions, since the citation format has recently been changed.

See also PACMPL’s Information and Guidelines for Authors at https://pacmpl.acm.org/authors.cfm.

There is a limit of 25 pages for a full paper or Functional Pearl and 12 pages for an Experience Report; in either case, the bibliography and an optional clearly marked appendix will not be counted against these limits. Submissions that exceed the page limits or, for other reasons, do not meet the requirements for formatting, will be summarily rejected.

Submission: Submissions will be accepted at https://icfp24.hotcrp.com/

Improved versions of a paper may be submitted at any point before the submission deadline using the same web interface.

Author Response Period: Authors will have a 72-hour period, starting at 00:00 (midnight) AOE on Monday, 29 April, 2024, to read reviews and respond to them.

Appendix and Supplementary Material: Authors have the option to include a clearly marked appendix and/or to attach supplementary material to a submission, on the understanding that reviewers may choose not to look at such an appendix or supplementary material. Supplementary material may be uploaded as a separate PDF document or tarball. Any supplementary material must be uploaded at submission time, not by providing a URL in the paper that points to an external repository. All supplementary material must be anonymised.

Authorship Policies: All submissions are expected to comply with the ACM Policies for Authorship that are detailed at https://www.acm.org/publications/authors/information-for-authors.

Republication Policies: Each submission must adhere to SIGPLAN’s republication policy, as explained on the web at http://www.sigplan.org/Resources/Policies/Republication.

ORCID: ORCID provides a persistent digital identifier (an ORCID iD) that you own and control, and that distinguishes you from every other researcher: https://orcid.org/. ACM now require an ORCID iD for every author of a paper, not just the corresponding author. So, the author who is filling out the permission form should make sure they have the ORCID iDs for all of their coauthors before filling out the form. Any authors who do not yet have an ORCID iD can go to https://orcid.org/register to have one assigned.

Review Process

This section outlines the two-stage process with double-blind reviewing that will be used to select papers for PACMPL issue ICFP 2024. New this year, ICFP 2024 will adapt a full double-blind reviewing process. More information see below.

ICFP 2024 will have an Associate Chair who will help the PC Chair monitor reviews, solicit external expert reviews for submissions when there is not enough expertise on the committee, and facilitate reviewer discussions.

PACMPL issue ICFP 2024 will employ a two-stage review process. The first stage in the review process will assess submitted papers using the criteria stated above and will allow for feedback and input on initial reviews through the author response period mentioned previously. As a result of the review process, a set of papers will be conditionally accepted and all other papers will be rejected. Authors will be notified of these decisions on 20 May, 2024.

Authors of conditionally accepted papers will be provided with committee reviews along with a set of mandatory revisions. By 11 June, 2024, the authors should provide a second revised submission. The second and final reviewing phase assesses whether the mandatory revisions have been adequately addressed by the authors and thereby determines the final accept/reject status of the paper. The intent and expectation is that the mandatory revisions can feasibly be addressed within three weeks.

The second submission should clearly identify how the mandatory revisions were addressed. To that end, the second submission must be accompanied by a cover letter mapping each mandatory revision request to specific parts of the paper. The cover letter will facilitate a quick second review, allowing for confirmation of final acceptance within two weeks. Conversely, the absence of a cover letter will be grounds for the paper’s rejection.

Information for Authors of Accepted Papers

  • As a condition of acceptance, final versions of all papers must adhere to the ACM Small format. The page limit for the final versions of papers will be increased by two pages to help authors respond to reviewer comments and mandatory revisions: 27 pages plus bibliography for a regular paper or Functional Pearl, 14 pages plus bibliography for an Experience Report.

  • Authors of accepted submissions will be required to agree to one of the three ACM licensing options, one of which is Creative Commons CC-BY publication; this is the option recommended by the PACMPL editorial board. A reasoned argument in favour of this option can be found in the article Why CC-BY? published by OASPA, the Open Access Scholarly Publishers Association. The other options are copyright transfer to ACM or retaining copyright but granting ACM exclusive publication rights.

  • PACMPL is a Gold Open Access journal, and authors are encouraged to publish their work under a CC-BY license. Gold Open Access guarantees permanent free online access to the definitive version in the ACM Digital Library, and the recommended CC-BY option also allows anyone to copy and distribute the work with attribution. Gold Open Access has been made possible by generous funding through ACM SIGPLAN, which will cover all open access costs in the event authors cannot. Authors who can cover the costs may do so by paying an Article Processing Charge (APC). PACMPL, SIGPLAN, and ACM Headquarters are committed to exploring routes to making Gold Open Access publication both affordable and sustainable.

  • ACM Author-Izer is a unique service that enables ACM authors to generate and post links on either their home page or institutional repository for visitors to download the definitive version of their articles from the ACM Digital Library at no charge. Downloads through Author-Izer links are captured in official ACM statistics, improving the accuracy of usage and impact measurements. Consistently linking to the definitive version of an ACM article should reduce user confusion over article versioning. After an article has been published and assigned to the appropriate ACM Author Profile pages, authors should visit http://www.acm.org/publications/acm-author-izer-service to learn how to create links for free downloads from the ACM DL.

  • The official publication date is the date the papers are made available in the ACM Digital Library. This date may be up to two weeks prior to the first day of the conference. The official publication date affects the deadline for any patent filings related to published work.

  • Authors of each accepted submission are invited to attend and be available for the presentation of that paper at the conference. The schedule for presentations will be determined and shared with authors after the full program has been selected.

Artifact Evaluation

Authors of papers that are conditionally accepted in the first phase of the review process will be encouraged (but not required) to submit supporting materials for Artifact Evaluation. These items will then be reviewed by an Artifact Evaluation Committee, separate from the paper Review Committee, whose task is to assess how the artifacts support the work described in the associated paper. Papers that go through the Artifact Evaluation process successfully will receive a seal of approval printed on the papers themselves. Authors of accepted papers will be encouraged to make the supporting materials publicly available upon publication of the papers, for example, by including them as “source materials” in the ACM Digital Library. An additional seal will mark papers whose artifacts are made available, as outlined in the ACM guidelines for artifact badging.

Participation in Artifact Evaluation is voluntary and will not influence the final decision regarding paper acceptance.

Special categories of papers

In addition to research papers, PACMPL issue ICFP solicits two kinds of papers that do not require original research contributions: Functional Pearls, which are full papers, and Experience Reports, which are limited to half the length of a full paper. Authors submitting such papers should consider the following guidelines.

Functional Pearls

A Functional Pearl is an elegant essay about something related to functional programming. Examples include, but are not limited to:

  • a new and thought-provoking way of looking at an old idea

  • an instructive example of program calculation or proof

  • a nifty presentation of an old or new data structure

  • an interesting application of functional programming techniques

  • a novel use or exposition of functional programming in the classroom

While pearls often demonstrate an idea through the development of a short program, there is no requirement or expectation that they do so. Thus, they encompass the notions of theoretical and educational pearls.

Functional Pearls are valued as highly and judged as rigorously as ordinary papers, but using somewhat different criteria. In particular, a pearl is not required to report original research, but, it should be concise, instructive, and entertaining. A pearl is likely to be rejected if its readers get bored, if the material gets too complicated, if too much-specialised knowledge is needed, or if the writing is inelegant. The key to writing a good pearl is polishing.

A submission that is intended to be treated as a pearl must be marked as such on the submission web page and should contain the words “Functional Pearl” somewhere in its title or subtitle. These steps will alert reviewers to use the appropriate evaluation criteria. Pearls will be combined with ordinary papers, however, for the purpose of computing the conference’s acceptance rate.

Experience Reports

The purpose of an Experience Report is to describe the experience of using functional programming in practice, whether in industrial application, tool development, programming education, or any other area.

Possible topics for an Experience Report include, but are not limited to:

  • insights gained from real-world projects using functional programming

  • comparison of functional programming with conventional programming in the context of an industrial project or a university curriculum

  • project-management, business, or legal issues encountered when using functional programming in a real-world project

  • curricular issues encountered when using functional programming in education

  • real-world constraints that created special challenges for an implementation of a functional language or for functional programming in general

An Experience Report is distinguished from a normal PACMPL issue ICFP paper by its title, by its length, and by the criteria used to evaluate it.

  • Both in the papers and in any citations, the title of each accepted Experience Report must end with the words “(Experience Report)” in parentheses. The acceptance rate for Experience Reports will be computed and reported separately from the rate for ordinary papers.

  • Experience Report submissions can be at most 12 pages long, excluding bibliography.

  • Each accepted Experience Report will be presented at the conference, but depending on the number of Experience Reports and regular papers accepted, authors of Experience Reports may be asked to give shorter talks.

  • Because the purpose of Experience Reports is to enable our community to understand the application of functional programming, an acceptable Experience Report need not add to the body of knowledge of the functional-programming community by presenting novel results or conclusions. It is sufficient if the report describes an illuminating experience with functional programming, or provides evidence for a clear thesis about the use of functional programming. The experience or thesis must be relevant to ICFP, but it need not be novel.

The review committee will accept or reject Experience Reports based on whether they judge the paper to illuminate some aspect of the use of functional programming. Anecdotal evidence will be acceptable provided it is well-argued and the author explains what efforts were made to gather as much evidence as possible. Typically, papers that show how functional programming was used are more convincing than papers that say only that functional programming was used. It can be especially effective to present comparisons of the situations before and after the experience described in the paper, but other kinds of evidence would also make sense, depending on context. Experience drawn from a single person’s experience may be sufficient, but more weight will be given to evidence drawn from the experience of groups of people.

An Experience Report should be short and to the point. For an industrial project, it should make a claim about how well functional programming worked and why; for a pedagogy paper, it might make a claim about the suitability of a particular teaching style or educational exercise. Either way, it should produce evidence to substantiate the claim. If functional programming worked in this case in the same ways it has worked for others, the paper need only summarise the results — the main part of the paper should discuss how well it worked and in what context. Most readers will not want to know all the details of the experience and its implementation, but the paper should characterise it and its context well enough so that readers can judge to what degree this experience is relevant to their own circumstances. The paper should take care to highlight any unusual aspects; specifics about the experience are more valuable than generalities about functional programming.

If the paper not only describes experience but also presents new technical results, or if the experience refutes cherished beliefs of the functional-programming community, it may be better to submit it as a full paper, which will be judged by the usual criteria of novelty, originality, and relevance. The Program Chair will be happy to advise on any concerns about which category to submit to.

About PACMPL

Proceedings of the ACM on Programming Languages (PACMPL https://pacmpl.acm.org/) is a Gold Open Access journal publishing research on all aspects of programming languages, from design to implementation and from mathematical formalisms to empirical studies. Each issue of the journal is devoted to a particular subject area within programming languages and will be announced through publicised Calls for Papers, like this one.