Skip to the content.

The symposium on Trends in Functional Programming (TFP) is an international forum for researchers with interests in all aspects of functional programming, taking a broad view of current and future trends in the area. It aspires to be a lively environment for presenting the latest research results, and other contributions. See the call for papers for more details.

This year, the event is taking place in-person at Seton Hall. It will be a 4-day event, with TFPiE taking place Jan 9, followed by TFP on Jan 10 - Jan 12.

TFP offers a friendly and constructive reviewing process designed to help less experienced authors succeed, with an opportunity for two rounds of review, both before and after the symposium itself. Authors thus have an opportunity to address reviewers’ concerns before the final decision on publication in the Proceedings is taken, in the light of previous reviews and discussions at the symposium.

TFP offers two “best paper” awards, the John McCarthy award for best paper, and the David Turner award for best student paper.


Register in advance using the following link:


Jeremy Gibbons, Oxford University

Turner, Bird, Eratosthenes: The Eternal Burning Thread

The late David Turner had great taste in language design and programming; the design decisions he made in his languages SASL, KRC, and Miranda over the last 50 years are still influential now. One example program that he introduced to illustrate lazy evaluation and list comprehensions in SASL is a one-line recursive “sieve” to generate the infinite list of prime numbers.

Turner called this algorithm The Sieve of Eratosthenes. In a lovely paper “The Genuine Sieve of Eratosthenes” (JFP, 2009), Melissa O’Neill argued that Turner’s algorithm is not faithful to Eratosthenes, and gave a detailed presentation using priority queues of the real thing. She included a variation by Richard Bird, that uses only lists but makes clever use of circular programming. Bird describes his circular program again in his textbook “Thinking Functionally with Haskell”, and sets its proof of correctness as an exercise. Unfortunately, his hint for a solution is incorrect. So what should a proof look like?

One of the last projects Turner worked on was the notion of “Total Functional Programming” (eg J.UCS, 2004), “designed to exclude the possibility of non-termination”. He observed that most programs are already structurally recursive or corecursive, therefore guaranteed terminating or productive respectively, and conjectured that “with more practice we will find this is always true”. Much as I find this idea appealing, I think we are still some way off, even after 20 years of “more practice”. I will discuss Bird’s circular Sieve of Eratosthenes as a challenge problem for Turner’s Total FP.

Benjamin Pierce, University of Pennsylvania

Types for Streams

Delta is a new functional core calculus that compiles to reactive state machines. Programs in Delta are written in an idiomatic functional style, conceptually transforming entire streams of inputs at once, but are executed event-by-event fashion. Delta uses a novel “ordered” substructural type system to enforce critical guarantees, ensuring that the programs are monotone — they never “retract” a previous output — and deterministic, even in the presence of parallel inputs. I’ll discuss the design of Delta’s type system, how it guarantees the above properties, and how it might apply to building real distributed stream processing systems.

Delta is joint work with Joseph Cutler and others at Penn and UC Davis.

John Reppy, University of Chicago

The Implementation of Functional Programming Languages

Functional programming has grown significantly in its adoption and impact over the past decades. To support this broader adoption of functional languages, we need performant compilers and runtime systems. In this talk, I will discuss aspects of compilers for functional languages with a particular focus on the design of intermediate representations.

Important Dates

Submission deadline: pre-symposium, full papers Saturday 4 November, 2023 (AOE)
Submission deadline: pre-symposium, draft papers Thursday 30 November, 2023
Friday 8 December, 2023 (AOE)
Notification: pre-symposium full papers Friday 8 December, 2023
Notification: pre-symposium draft papers Friday 8 December, 2023
Thursday 14 December, 2023
Registration: Friday 5 January, 2024
TFPiE Workshop Tuesday 9 January 2024
TFP Symposium Wednesday 10 - Friday 12 January, 2024
Submission deadline: post-symposium review Friday 23 February, 2024 (AOE)
Notification: post-symposium submissions Friday 5 April, 2024
Camera-ready: post-symposium submissions Friday 3 May, 2024 (AOE)

Organizing Committee

Jason Hemann PC Chair Seton Hall University, USA
Stephen Chang Symposium Chair University of Massachusetts Boston, USA
Shajina Anand Local Arrangements Seton Hall University, USA
Peter Achten Publicity Chair Radboud University Nijmegen, Netherlands

Program Committee

Małgorzata Biernacka University of Wrocław, Poland
Olaf Chitil University of Kent, UK
Yannick Forster INRIA, France
Jeremy Gibbons University of Oxford, UK
Ralf Hinze RPTU Kaiserslautern-Landau, Germany
Shachar Itzhaky Technion Israel Institute of Technology, Israel
Alex Kavvos University of Bristol, UK
Hsiang-Shang ‘Josh’ Ko Institute of Information Science, Academia Sinica, Taiwan
Yao Li Portland State University, USA
Erik Meijer Facebook
Koko Muroya Kyoto University, Japan
Chandrakana Nandi Certora Inc.
Amos Robinson Australian National University, Australia
Tom Schrijvers KU Leuven, Belgium
Vít Šefl Charles University, Czech Republic
Peter Sestoft ITU Copenhagen, Denmark
KC Sivaramakrishnan IIT Madras, India and Tarides
Kristina Sojakova INRIA-Paris, France
Simon Thompson University of Kent, UK and Eötvös Loránd University, Hungary
Juliana Kaizer Vizzotto Universidade Federal de Santa Maria, Brazil
Andy Wingo Igalia, S.L.
Brent Yorgey Hendrix College, USA

Call for Papers

The call for papers is here.


Past TFP conferences: [2023] [2022] [2021] [2020] [Others]