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.