Lowell, MA, USA

Lowell, MA, USA


Welcome to the website for IFL 2018, the 30th Symposium on Implementation and Application of Functional Languages. The goal of the IFL symposia is to bring together researchers actively engaged in the implementation and application of functional and function-based programming languages. IFL 2018 will be a venue for researchers to present and discuss new ideas and concepts, work in progress, and publication-ripe results related to the implementation and application of functional languages and function-based programming.


  • Sept. 4-th 2018 Draft pre-proceedings is available! (~ 70MB)
  • July 2018 Confirmed Haskell Mini-Course by Galois, Inc. on September 5th. See details below!
  • March 2018 Exciting news! Adam Chlipala and Arjun Guha will be our keynote speakers. Check out their fantastic work!
  • 02-25-2018 IFL 2018 website created! Many thanks to previous organizers for sharing the recently adopted website template.

Keynote Speakers

Adam Chlipala, Massachusetts Institute of Technology CSAIL

Interactive Proof and the Fall and Rise of the Standard Model of Functional-Program Execution

The early days of functional programming involved some uncertainty about whether significant new hardware features were going to be needed, to support high-performance execution. Eventually, a consensus view was reached on how to compile functional programs efficiently for the kinds of hardware architectures that are common today. We have ingredients like garbage collection and a relatively straightforward way to read an expected cost from a program's text. Automatic optimizations find opportunities to reduce these costs in some cases, but fundamentally we have grown used to a very operational reading of functional programs and their performance.
   In the first part of this talk, I will try to deliver "the bad news" about the extent to which this model deserves to stick around. Interactive proof assistants like Coq and Isabelle provide ways to establish the correctness of large artifacts, very convincingly; but it would be a mistake to see mechanized correctness proofs as merely exercises to carry out after-the-fact on systems. They also enable more flexible and effective language designs and compilation strategies. I will sketch how use of proof assistants can raise the abstraction level of programming dramatically, by intermingling specification features with programming features; and I will explain how traditional functional programs can be compiled more effectively using compilers that support proved plugins to introduce new translation patterns. Both of these perspectives pull away from the "standard model" cost semantics of functional programming.
   In the second part of the talk, I turn to "the good news" for the staying power of the standard model. Practitioners have often suggested that functional programming was designed for language implementations and theorem provers, to the extent that it isn't a compellingly good match for more common domains. I've come to feel fairly sympathetic to that view, and I want to share a perspective where we apply "the standard model" only at a kind of "macro-expansion time" and leave no runtime residue of it in verified, deployed systems. Verified artifacts are best constructed with "building up" phases using combinators over first-class ingredients, often followed by "breaking down" phases of partial evaluation to collapse abstraction boundaries and reduce performance overhead. These phases get interesting when we combine them with formal proof and aim to minimize the complexity of trusted proof-checking kernels.

Arjun Guha, University of Massachusetts Amherst

Languages for Programmable Infrastructure

We are in an era of programmable infrastructure. Today, ordinary programmers can write code to allocate and manipulate low-level computing and networking resources that, not to long ago, were either fixed in hardware or outside the vocabulary of programming languages. What has made this possible is the development of a wide variety of domain-specific languages that expose new primitives for programming infrastructure. In this talk, I will introduce a few of these new primitives and DSLs and highlight their strengths. I will also illustrate that many of these languages have poor support for modular programming and program evolution, and how ideas borrowed from functional programming and program verification can help. I will give examples from our work on network programming, system configuration, and serverless cloud programming, where we are developing verification techniques for existing DSLs and designing new abstractions and languages that are correct by construction.


The 30th IFL is organized by the University of Massachusetts Lowell, and will take place at the UMass Lowell Inn & Conference Center.
The City of Lowell is located at the heart of the Merrimack Valley just 30 miles northwest of Boston. Lowell can be easily reached by train or taxi.

UMass Lowell Inn & Conference Center

UMass Lowell Inn & Conference Center
50 Warren St, Lowell, MA 01852
Phone: 978-934-6920

Haskell Mini-Course (September 5th)

This year, on the day before the paper presentations start, we will begin with a mini-course on Haskell presented by David Thrane Christiansen and José Manuel Calderón Trilla of Galois, Inc.

Register: Attendance at the course is free, but you must RSVP using this form.

Course Description:

Recent versions of the GHC compiler for Haskell feature support for a number of advanced type system features, including pattern-matching functions in the type system (type families), indexed families (generalized algebraic datatypes, or GADTs), type-level data structures (data kinds), and general compile-time metaprogramming (Template Haskell). At Galois, we use these features in a number of our projects, which allows us to build deep embeddings of programming languages and have GHC enforce the target language's type system for us. This style of programming ensures that we only produce well-typed terms, including that we do not forget any of the run-time checks that are necessary to preserve our invariants when accepting input from untyped sources such as files.

In the course of developing these projects, some common problems and programming patterns emerged. We developed the `parameterized-utils` library to codify solutions to these problems, and provide necessary generalizations of interfaces from the standard library (Eq, Applicative, Traversable, etc.)

We will expect that participants in the course have used Haskell before, but we will not expect everyone to be experts. We will introduce GADTs, type families, and data kinds, and then show how to use them together with the tools from parameterized-utils with an implementation of the simply-typed lambda calculus, including basic AST definitions, evaluation, and parsing.


View Schedule (PDF)

Important Dates -- Time Zone: AoE (UTC-12h)

Submission of regular papers: 25th May, 2018 (Friday)
Submission of draft papers: 17th July, 2018 (Tuesday)
Regular and draft papers notification: 20th July, 2018 (Friday)
Deadline for early registration: 8th August, 2018 (Wednesday)
Submission of pre-proceedings version: 29th August, 2018 (Wednesday)
IFL 2018 Symposium: 5th September 2018 - 7th September 2018 (Wednesday - Friday incl.)
Submission of papers for post-proceedings: 7th November, 2018 (Wednesday)
Notification of acceptance for post-symposium proceedings: 22nd December, 2018 (Sunday)
Camera-ready version: 10 February, 2019 (Sunday)

Submission Details

Prospective authors are encouraged to submit full papers and draft papers. All contributions must be written in English. Papers must adhere to the standard ACM SIGCONF (sigconf) two columns conference format, which can be found at https://www.acm.org/publications/proceedings-template. Specifically, you must use the `sigconf` option of the `acmart` package, which can be included in LaTeX with the following:

\acmConference[IFL'18]{International Symposium on Implementation and Application of Functional Languages}{August 2019}{Lowell, MA, USA}

For pre- and post-symposium full paper submissions, the limit is firm and is 12 pages. Draft papers submissions are roughly between 8 and 15 pages.

Submit through EasyChair

At no time may work submitted to IFL be simultaneously submitted to other venues; submissions must adhere to ACM SIGPLAN's republication policy: http://www.sigplan.org/Resources/Policies/Republication

Registration Details

Registration includes participation in the symposium, meals, and coffee breaks.


If you are interested in mini-course, attendance is free, but you must RSVP using this form.

Program Committee

Arthur Charguéraud Inria, FR
Ben Delaware Purdue University, USA
Christos Dimoulas Northwestern University, USA
David Darais University of Vermont, USA
Dominic Orchard University of Kent, UK
Ekaterina Komendantskaya Heriot-Watt University, UK
Garrett Morris University of Kansas, USA
Heather Miller Carnegie Mellon University, USA
Jeremy Yallop University of Cambridge, UK
Keiko Nakata SAP Innovation Center Potsdam, DE
Laura Castro University of A Coruña, ESP
Magnus Myreen Chalmers University of Technology, SWE
Natalia Chechina Bournemouth University, UK
Peter Achten Radboud Universiteit Nijmegen, NL
Peter-Michael Osera Grinnell College, USA
Richard Eisenberg Bryn Mawr College, USA
Trevor McDonell University of New South Wales, AUS
Yukiyoshi Kameyama University of Tsukuba, JAP

Steering Committee

The list of Steering Committee members

Organizing Committee

Jay McCarthy, University of Massachusetts Lowell
Matteo Cimini, University of Massachusetts Lowell
Please direct any questions you may have towards ifl2018@easychair.org.

Previous IFL Editions