


default search action
20th ICFP 2015: Vancouver, BC, Canada
- Kathleen Fisher, John H. Reppy:

Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming, ICFP 2015, Vancouver, BC, Canada, September 1-3, 2015. ACM 2015, ISBN 978-1-4503-3669-7
Keynote 1
- Rastislav Bodík:

Program synthesis: opportunities for the next decade. 1
Session 1: Compilers
- Tiark Rompf, Nada Amin:

Functional pearl: a SQL to C compiler in 500 lines of code. 2-9 - Adam Chlipala:

An optimizing compiler for a purely functional web-application language. 10-21 - Spenser Bauman, Carl Friedrich Bolz, Robert Hirschfeld, Vasily Kirilichev, Tobias Pape

, Jeremy G. Siek
, Sam Tobin-Hochstadt
:
Pycket: a tracing JIT for a functional language. 22-34
Session 2: Types
- Andreas Rossberg:

1ML - core and modules united (F-ing first-class modules). 35-47 - Niki Vazou

, Alexander Bakst
, Ranjit Jhala:
Bounded refinement types. 48-61
Session 3: Miscellaneous
- Kazutaka Matsuda, Meng Wang

:
Applicative bidirectional programming with lenses. 62-74 - Justin Pombrio, Shriram Krishnamurthi

:
Hygienic resugaring of compositional desugaring. 75-87 - Pierre Genevès, Nils Gesbert:

XQuery and static typing: tackling the problem of backward axes. 88-100
Session 4: Foundations I
- William J. Bowman

, Amal Ahmed
:
Noninterference for free. 101-113 - Marco Gaboardi

, Romain Péchoux:
Algebras and coalgebras in the light affine Lambda calculus. 114-126 - Paul Downen

, Philip Johnson-Freyd
, Zena M. Ariola:
Structures for structural recursion. 127-139
Session 5: Cost Analysis
- Norman Danner, Daniel R. Licata

, Ramyaa:
Denotational cost semantics for functional languages with inductive types. 140-151 - Martin Avanzini, Ugo Dal Lago

, Georg Moser
:
Analysing the complexity of functional programs: higher-order meets first-order. 152-164
Keynote 2
- Mary Sheeran:

Functional programming and hardware design: still interesting after all these years. 165
Session 6: Theorem Provers
- Georg Neis, Chung-Kil Hur, Jan-Oliver Kaiser

, Craig McLaughlin
, Derek Dreyer, Viktor Vafeiadis
:
Pilsner: a compositionally verified compiler for a higher-order imperative language. 166-178 - Beta Ziliani, Matthieu Sozeau:

A unification algorithm for Coq featuring universe polymorphism and overloading. 179-191 - Jasmin Christian Blanchette, Andrei Popescu, Dmitriy Traytel

:
Foundational extensible corecursion: a proof assistant perspective. 192-204
Session 7: Parallelism
- Michel Steuwer

, Christian Fensch, Sam Lindley
, Christophe Dubach:
Generating performance portable code using rewrite rules: from high-level functional expressions to high-performance OpenCL code. 205-217 - Ryan R. Newton, Peter P. Fogg, Ali Varamesh:

Adaptive lock-free maps: purely-functional to scalable. 218-229 - Matthew Le, Matthew Fluet:

Partial aborts for transactions via first-class continuations. 230-242
Session 8: Foundations II
- Gabriel Scherer, Didier Rémy:

Which simple types have a unique inhabitant? 243-255 - Jana Dunfield:

Elaborating evaluation-order polymorphism. 256-268 - Tillmann Rendel, Julia Trieflinger, Klaus Ostermann:

Automatic refunctionalization to a language with copattern matching: with applications to the expression problem. 269-279
Session 9: Information Flow
- Alejandro Russo

:
Functional pearl: two can keep a secret, if one of them uses Haskell. 280-288 - Pablo Buiras, Dimitrios Vytiniotis, Alejandro Russo

:
HLIO: mixing static and dynamic typing for information-flow control in Haskell. 289-301
Session 10: Domain-Specific Languages
- Atze van der Ploeg

, Koen Claessen:
Practical principled FRP: forget the past, change the future, FRPNow! 302-314 - Patrick Bahr

, Jost Berthold, Martin Elsman
:
Certified symbolic management of financial multi-party contracts. 315-327 - Steffen Smolka

, Spiridon Aristides Eliopoulos, Nate Foster, Arjun Guha:
A fast compiler for NetKAT. 328-341
Session 11: Data Structures
- Nicolas Stucki, Tiark Rompf, Vlad Ureche, Phil Bagwell:

RRB vector: a practical general purpose immutable sequence. 342-354 - Mauro Jaskelioff, Exequiel Rivas

:
Functional pearl: a smart view on datatypes. 355-361 - Edward Z. Yang, Giovanni Campagna, Ömer S. Agacan, Ahmed El-Hassany, Abhishek Kulkarni

, Ryan R. Newton:
Efficient communication and collection with compact normal forms. 362-374
Session 12: Contracts
- Matthias Keil

, Peter Thiemann:
Blame assignment for higher-order contracts with intersection and union. 375-386 - Cameron Swords, Amr Sabry

, Sam Tobin-Hochstadt
:
Expressing contract monitors as patterns of communication. 387-399 - He Zhu, Aditya V. Nori, Suresh Jagannathan:

Learning refinement types. 400-411
Session 13: Type Checking
- Zvonimir Pavlinovic, Tim King, Thomas Wies

:
Practical SMT-based type error localization. 412-423 - Georgios Karachalias, Tom Schrijvers

, Dimitrios Vytiniotis, Simon L. Peyton Jones:
GADTs meet their match: pattern-matching warnings that account for GADTs, guards, and laziness. 424-436

manage site settings
To protect your privacy, all features that rely on external API calls from your browser are turned off by default. You need to opt-in for them to become active. All settings here will be stored as cookies with your web browser. For more information see our F.A.Q.


Google
Google Scholar
Semantic Scholar
Internet Archive Scholar
CiteSeerX
ORCID














