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