default search action
21st ICFP 2016: Nara, Japan
- Jacques Garrigue, Gabriele Keller, Eijiro Sumii:
Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming, ICFP 2016, Nara, Japan, September 18-22, 2016. ACM 2016, ISBN 978-1-4503-4219-3
Invited Talks
- Martín Abadi:
TensorFlow: learning functions at scale. 1 - Sukyoung Ryu:
Journey to find bugs in JavaScript web applications in the wild. 2 - Dan Licata:
A functional programmer's guide to homotopy type theory. 3
Session 1
- David Castro, Kevin Hammond, Susmit Sarkar:
Farms, pipes, streams and reforestation: reasoning about structured parallel processes using types and hylomorphisms. 4-17 - Umut A. Acar, Arthur Charguéraud, Mike Rainey, Filip Sieczkowski:
Dag-calculus: a calculus for parallel computation. 18-32 - Johannes Borgström, Ugo Dal Lago, Andrew D. Gordon, Marcin Szymczak:
A lambda-calculus foundation for universal probabilistic programming. 33-46 - Wazim Mohammed Ismail, Chung-chieh Shan:
Deriving a probability density calculator (functional pearl). 47-59
Session 2
- Yong Kiam Tan, Magnus O. Myreen, Ramana Kumar, Anthony C. J. Fox, Scott Owens, Michael Norrish:
A new verified compiler backend for CakeML. 60-73 - Paul Downen, Luke Maurer, Zena M. Ariola, Simon Peyton Jones:
Sequent calculus as a compiler intermediate language. 74-88 - Liam O'Connor, Zilin Chen, Christine Rizkallah, Sidney Amani, Japheth Lim, Toby C. Murray, Yutaka Nagashima, Thomas Sewell, Gerwin Klein:
Refinement through restraint: bringing down the cost of verification. 89-102
Session 3
- Max S. New, William J. Bowman, Amal Ahmed:
Fully abstract compilation via universal embedding. 103-116 - Christos Dimoulas, Max S. New, Robert Bruce Findler, Matthias Felleisen:
Oh Lord, please don't let contracts be misunderstood (functional pearl). 117-131 - Ezgi Çiçek, Zoe Paraskevopoulou, Deepak Garg:
A type theory for incremental computational complexity with control flow changes. 132-145
Session 4
- Kotaro Takeda, Naoki Kobayashi, Kazuya Yaguchi, Ayumi Shinohara:
Compact bit encoding schemes for simply-typed lambda-terms. 146-157 - Shin-Cheng Mu, Yu-Hsi Chiang, Yu-Han Lyu:
Queueing and glueing for optimal partitioning (functional pearl). 158-167 - Jan Christiansen, Nikita Danilenko, Sandra Dylus:
All sorts of permutations (functional pearl). 168-179
Session 5
- Manuel Serrano, Vincent Prunet:
A glimpse of Hopjs. 180-192 - Ilya Sergey:
Experience report: growing and shrinking polygons for random testing of computational geometry algorithms. 193-199 - Kento Emoto, Kiminori Matsuzaki, Zhenjiang Hu, Akimasa Morihata, Hideya Iwasaki:
Think like a vertex, behave like a function! a functional DSL for vertex-centric big graph processing. 200-213 - Michael Arntzenius, Neelakantan R. Krishnaswami:
Datafun: a functional Datalog. 214-227
Session 6
- Eric L. Seidel, Ranjit Jhala, Westley Weimer:
Dynamic witnesses for static type errors (or, ill-typed programs usually go wrong). 228-242 - Keiichi Watanabe, Ryosuke Sato, Takeshi Tsukada, Naoki Kobayashi:
Automatically disproving fair termination of higher-order functional programs. 243-255 - Ralf Jung, Robbert Krebbers, Lars Birkedal, Derek Dreyer:
Higher-order ghost state. 256-269
Session 7
- Jesper Cockx, Dominique Devriese, Frank Piessens:
Unifiers as equivalences: proof-relevant unification of dependently typed data. 270-283 - David R. Christiansen, Edwin C. Brady:
Elaborator reflection: extending Idris in Idris. 284-297 - Pierre-Évariste Dagand, Nicolas Tabareau, Éric Tanter:
Partial type equivalences for verified dependent interoperability. 298-310
Session 8
- David Darais, David Van Horn:
Constructive Galois connections: taming the Galois connection framework for mechanized metatheory. 311-324 - Sandrine Blazy, Vincent Laporte, David Pichardie:
An abstract memory functor for verified C static analyzers. 325-337
Session 9
- Trevor L. McDonell, Timothy A. K. Zakian, Matteo Cimini, Ryan R. Newton:
Ghostbuster: a tool for simplifying and converting GADTs. 338-350 - David Thibodeau, Andrew Cave, Brigitte Pientka:
Indexed codata types. 351-363 - Bruno C. d. S. Oliveira, Zhiyuan Shi, João Alpuim:
Disjoint intersection types. 364-377 - Giuseppe Castagna, Tommaso Petrucciani, Kim Nguyen:
Set-theoretic types for polymorphic variants. 378-391
Session 10
- Ram Raghunathan, Stefan K. Muller, Umut A. Acar, Guy E. Blelloch:
Hierarchical memory management for parallel programs. 392-406 - Thomas Gilray, Michael D. Adams, Matthew Might:
Allocation characterizes polyvariance: a unified methodology for polyvariant control-flow analysis. 407-420 - Katsuhiro Ueno, Atsushi Ohori:
A fully concurrent garbage collector for functional programs on multicore processors. 421-433
Session 11
- Sam Lindley, J. Garrett Morris:
Talking bananas: structural recursion for session types. 434-447 - J. Garrett Morris:
The best of both worlds: linear functional programming without compromise. 448-461 - Peter Thiemann, Vasco T. Vasconcelos:
Context-free session types. 462-475
Session 12
- Marco Gaboardi, Shin-ya Katsumata, Dominic A. Orchard, Flavien Breuvart, Tarmo Uustalu:
Combining effects and coeffects via grading. 476-489 - Maciej Piróg, Nicolas Wu:
String diagrams for free monads (functional pearl). 490-501
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.