List of ICFP'13 accepted papers, with links to preprint or additional information when available
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

ICFP is the International Conference on Functional Programming. The 2013 edition will take place in Boston, from September 25 to September 27.

The list of accepted papers was published here. The present page tries to gather preprint links and complementary information; please do not hesitate to submit issues or pull requests. Patch authors: please pay attention to the two non-erasable whitespaces required to add a line break after each link.

(See here for a similar page for ICFP'12)


  • "Wellfounded Recursion with Copatterns: A Unified Approach to Termination and Productivity" 
    (paper) (long version),
    by Andreas Abel and Brigitte Pientka

  • "Productive Coprogramming with Guarded Recursion" 
    (paper) (webpage),
    by Robert Atkey and Conor McBride

  • "Using Circular Programs for Higher-Order Syntax [Functional Pearl]" 
    by Emil Axelsson and Koen Claessen

  • "Weak Optimality, and the Meaning of Sharing" 
    by Thibaut Balabonski

  • "Efficient Divide-and-Conquer Parsing of Practical Context-Free Languages" 
    by Jean-Philippe Bernardy and Koen Claessen

  • "Type-Theory In Color" 
    by Jean-Philippe Bernardy and Guilhem Moulin

  • "Programming and Reasoning with Algebraic Effects and Dependent Types" 
    (paper) (webpage),
    by Edwin Brady

  • "C-SHORe: A Collapsible Approach to Verifying Higher-Order Programs" 
    (long version),
    by Christopher Broadbent, Arnaud Carayol, Matthew Hague and Olivier Serre

  • "A Practical Theory of Language-Integrated Query" 
    (paper) (webpage),
    by James Cheney, Sam Lindley and Philip Wadler

  • "The Bedrock Structured Programming System: Combining Generative Metaprogramming and Hoare Logic in an Extensible Program Verifier" 
    (paper) (webpage),
    by Adam Chlipala

  • "Modular Monadic Meta-Theory" 
    (paper) (webpage),
    by Benjamin Delaware, Steven Keuchel, Tom Schrijvers and Bruno Oliveira

  • "Hoare-Style Reasoning with (Algebraic) Continuations" 
    (paper) (webpage),
    by Germán Andrés Delbianco and Aleksandar Nanevski

  • "Typed Syntactic Meta-programming" 
    by Dominique Devriese and Frank Piessens

  • "Fun with Semirings" [Functional Pearl] 
    by Stephen Dolan

  • "Complete and Easy Bidirectional Typechecking for Higher-Rank Polymorphism" 
    (paper) (lemma and proofs) (webpage),
    by Joshua Dunfield and Neelakantan R. Krishnaswami

  • "Calculating Threesomes, with Blame" 
    (no preprint found),
    by Ronald Garcia

  • "Structural Recursion for Querying Ordered Graphs" 
    by Soichiro Hidaka, Kazuyuki Asada, Zhenjiang Hu, Hiroyuki Kato and Keisuke Nakano

  • "Unifying Structured Recursion Schemes" 
    by Ralf Hinze, Nicolas Wu and Jeremy Gibbons

  • "Testing Noninterference, Quickly" 
    (paper) (long version),
    by Catalin Hritcu, John Hughes, Benjamin C. Pierce, Antal Spector-Zabusky, Dimitrios Vytiniotis, Arthur Azevedo de Amorim and Leonidas Lampropoulos

  • "Functional Reactive Programming with Liveness Guarantees" 
    by Alan Jeffrey

  • "Optimizing Abstract Abstract Machines" 
    (paper) (arxiv) (implementation and updated paper),
    by J. Ian Johnson, Nicholas Labich, Matthew Might and David Van Horn

  • "Handlers in Action" 
    by Ohad Kammar, Sam Lindley and Nicolas Oury

  • "A Nanopass Framework for Commercial Compiler Development" [Experience Report] 
    (paper) (dissertation),
    by Andrew Keep and R Kent Dybvig

  • "Higher-Order Functional Reactive Programming without Spacetime Leaks" 
    (paper) (long version) (implementation (.tgz)),
    by Neelakantan Krishnaswami

  • "Modular and Automated Type-Soundness Verification for Language Extensions" 
    (paper) (code),
    by Florian Lorenzen and Sebastian Erdweg

  • "Exploiting Vector Instructions with Generalized Stream Fusion" 
    by Geoffrey Mainland, Roman Leshchinskiy and Simon Peyton Jones

  • "Functional Geometry and the «Traité de Lutherie»" [Functional Pearl] 
    by Harry Mairson

  • "Optimising Purely Functional GPU Programs" 
    (paper) (webpage),
    by Trevor L. McDonell, Manuel Chakravarty, Gabriele Keller and Ben Lippmeier

  • "A Short Cut to Parallelization Theorems" 
    (no preprint found),
    by Akimasa Morihata

  • "Functional Programming of mHealth Applications" [Experience Report] 
    (paper) (implementation),
    by Christian Petersen, Matthias Gorges, Dustin Dunsmuir, Mark Ansermino and Guy Dumont

  • "Automatic SIMD Vectorization for Haskell" 
    by Leaf Petersen, Dominic Orchard and Neal Glew

  • "Programming with Permissions in Mezzo" 
    (paper) (long version) (webpage),
    by Francois Pottier and Jonathan Protzenko

  • "Correctness of an STM Haskell Implementation" 
    (long version),
    by Manfred Schmidt-Schauss and David Sabel

  • "The Constrained-Monad Problem" 
    (paper) (webpage),
    by Neil Sculthorpe, Jan Bracker, George Giorgidze and Andy Gill

  • "Applying Random Testing to a Base Type Environment" [Experience Report] 
    by Vincent St-Amour and Neil Toronto

  • "Simple and Compositional Reification of Monadic Embedded Languages" [Functional Pearl] 
    by Josef Svenningsson and Bo Joel Svensson

  • "Verified Decision Procedures for MSO on Words Based on Derivatives of Regular Expressions" [Functional Pearl] 
    (paper) (webpage),
    by Dmitriy Traytel and Tobias Nipkow

  • "Unifying Refinement and Hoare-Style Reasoning in a Logic for Higher-Order Concurrency" 
    (paper) (technical appendix),
    by Aaron Turon, Derek Dreyer and Lars Birkedal

  • "Towards Dependently Typed Haskell: System FC with Kind Equality" 
    by Stephanie Weirich, Justin Hsu and Richard A. Eisenberg

  • "Mtac: A Monad for Typed Tactic Programming in Coq" 
    (paper) (webpage),
    by Beta Ziliani, Derek Dreyer, Neelakantan Krishnaswami, Aleksandar Nanevski and Viktor Vafeiadis

Haskell Symposium

List of accepted papers is available here.

  • "Adding Structure to Monoids"
    by Mario Blažević.

  • "Causality of optimized Haskell: What is burning our cycles?"
    by Peter Wortmann and David Duke.

  • "Data Flow Fusion with Series Expressions in Haskell"
    (paper) (webpage),
    by Ben Lippmeier, Manuel Chakravarty, Gabriele Keller and Amos Robinson.

  • "An EDSL approach to High Performance Haskell programming"
    by Johan Ankner and Josef Svenningsson.

  • "Extensible Effects: An Alternative to Monad Transformers"
    by Oleg Kiselyov, Amr Sabry and Cameron Swords.

  • "Hasochism: The Pleasure and Pain of Dependently Typed Haskell Programming"
    by Sam Lindley and Conor McBride.

  • "The Intel Labs Haskell Research Compiler"
    (paper) (webpage),
    by Hai Liu, Neal Glew, Leaf Petersen and Todd Anderson.

  • "Maintaining Verified Software"
    (paper) (slides),
    by Joe Leslie-Hurd.

  • "Mio: A High-Performance Multicore IO Manager for GHC"
    (paper) (code),
    by Andreas Voellmy, Junchang Wang, Paul Hudak and Kazuhiko Yamamoto.

  • "Names For Free — Polymorphic Views of Names and Binders"
    by Jean-Philippe Bernardy and Nicolas Pouillard.

  • "Splittable Pseudorandom Number Generators using Cryptographic Hashing"
    by Koen Claessen and Michał Pałka.

  • "Monadic Functional Reactive Programming"
    (paper) (code),
    by Atze van der Ploeg.

  • "Understanding Idiomatic Traversals Backwards and Forwards"
    by Richard Bird, Jeremy Gibbons, Stefan Mehner, Tom Schrijvers and Janis Voigtländer.

OCaml Workshop

Papers and slides available here.