ICFP 2015- Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming

Full Citation in the ACM Digital Library

SESSION: Keynote 1

Program synthesis: opportunities for the next decade

SESSION: Session 1: Compilers

Functional pearl: a SQL to C compiler in 500 lines of code

An optimizing compiler for a purely functional web-application language

Pycket: a tracing JIT for a functional language

SESSION: Session 2: Types

1ML – core and modules united (F-ing first-class modules)

Bounded refinement types

SESSION: Session 3: Miscellaneous

Applicative bidirectional programming with lenses

Hygienic resugaring of compositional desugaring

XQuery and static typing: tackling the problem of backward axes

SESSION: Session 4: Foundations I

Noninterference for free

Algebras and coalgebras in the light affine Lambda calculus

Structures for structural recursion

SESSION: Session 5: Cost Analysis

Denotational cost semantics for functional languages with inductive types

Analysing the complexity of functional programs: higher-order meets first-order

SESSION: Keynote 2

Functional programming and hardware design: still interesting after all these years

SESSION: Session 6: Theorem Provers

Pilsner: a compositionally verified compiler for a higher-order imperative language

A unification algorithm for Coq featuring universe polymorphism and overloading

Foundational extensible corecursion: a proof assistant perspective

SESSION: Session 7: Parallelism

Generating performance portable code using rewrite rules: from high-level functional expressions to high-performance OpenCL code

Adaptive lock-free maps: purely-functional to scalable

Partial aborts for transactions via first-class continuations

SESSION: Session 8: Foundations II

Which simple types have a unique inhabitant?

Elaborating evaluation-order polymorphism

Automatic refunctionalization to a language with copattern matching: with applications to the expression problem

SESSION: Session 9: Information Flow

Functional pearl: two can keep a secret, if one of them uses Haskell

HLIO: mixing static and dynamic typing for information-flow control in Haskell

SESSION: Session 10: Domain-Specific Languages

Practical principled FRP: forget the past, change the future, FRPNow!

Certified symbolic management of financial multi-party contracts

A fast compiler for NetKAT

SESSION: Session 11: Data Structures

RRB vector: a practical general purpose immutable sequence

Functional pearl: a smart view on datatypes

Efficient communication and collection with compact normal forms

SESSION: Session 12: Contracts

Blame assignment for higher-order contracts with intersection and union

Expressing contract monitors as patterns of communication

Learning refinement types

SESSION: Session 13: Type Checking

Practical SMT-based type error localization

GADTs meet their match: pattern-matching warnings that account for GADTs, guards, and laziness