Write a Blog >>
ICFP 2018
Sun 23 - Sat 29 September 2018 St. Louis, Missouri, United States
Events (34 results)

RFCs, all the way down!

OCaml 2018 When: Thu 27 Sep 2018 10:40 - 11:00 People: Romain Calascibetta

… …

Generic Programming of All Kinds

Haskell 2018 When: Fri 28 Sep 2018 09:30 - 10:00 People: Alejandro Serrano, Victor Cacciari Miraldo

… …

Theorem Proving for All: Equational Reasoning in Liquid Haskell (Functional Pearl)

Haskell 2018 When: Fri 28 Sep 2018 15:30 - 15:59 People: Niki Vazou, Joachim Breitner, Rose Kunkel, David Van Horn, Graham Hutton

… …

Modular Acceleration: Tricky Cases of Functional High-Performance Computing

FHPC 2018 When: Sat 29 Sep 2018 10:20 - 11:20 People: Troels Henriksen, Martin Elsman, Cosmin Oancea

… that while all these problems permit elegant functional implementations, good …

A domain theory for statistical probabilistic programming

HOPE 2018 When: Sun 23 Sep 2018 15:30 - 16:10 People: Ohad Kammar, Matthijs Vákár, Sam Staton

… of continuous domains possessing all three properties (1)–(3), a question …

On the Calculation of Functions in the Algebra of Physical Space

NPFL 2018 When: Thu 27 Sep 2018 14:00 - 14:30 People: Nathan Waivio

… (Scalars, Vectors, and Quaternions, etc.) all have their own Type. Clifford …

Exact Real Arithmetic for Geometric Operations

NPFL 2018 When: Thu 27 Sep 2018 15:30 - 16:10 People: Pavel Panchekha

… $. Besides these trigonometric operations, ExactNum supports all of the ordered …

Towards Secure Erlang Systems

Erlang 2018 When: Sat 29 Sep 2018 11:45 - 12:00 People: Alexandre Jorge Barbosa Rodrigues, Viktória Fördős

… that today’s Erlang systems are faced with and explain why all Erlang developers …

SemanticDB: a common data model for Scala developer tools

Scala 2018 When: Fri 28 Sep 2018 15:42 - 16:10 People: Eugene Burmako

… or find all references), relatively less work went into unifying implementor … implementations for Scala. They all implement the same protocol that works with code, but they all use different data structures to represent that code.

In this talk, we …

Typing, Representing, and Abstracting Control: Functional Pearl

TyDe 2018 When: Thu 27 Sep 2018 10:20 - 10:45 People: Philipp Schuster, Jonathan Immanuel Brachthäuser

… administrative beta- and eta-redexes at all levels of the CPS hierarchy. …

Compositional Computational Constructive Critique: Or, How My Computer Learned to Appreciate Poetry

FARM 2018 When: Sat 29 Sep 2018 10:20 - 10:45 People: Jennifer Hackett

… a monoid here. But not all poems stay within their meter; some, like this, can …

Julia Subtyping Lessons Scala Could Learn (Student Talk)

Scala 2018 When: Fri 28 Sep 2018 11:50 - 12:00 People: Artem Pelenitsyn

… procedures. All those irregularities were thoroughly discussed with the language …

Scala with explicit nulls (student talk)

Scala 2018 When: Fri 28 Sep 2018 12:00 - 12:10 People: Abel Nieto, Ondřej Lhoták

… explicit in Scala. More specifically, I will show a version of Scala where all

A High-Performance Multicore IO Manager Based on libuv (Experience Report)

Haskell 2018 When: Thu 27 Sep 2018 14:00 - 14:30 People: Dong Han, Tao He

… . It also can be easily extended to support all of libuv's callback-based APIs …

Deriving Via: or, How to Turn Hand-Written Instances into an Anti-pattern

Haskell 2018 When: Fri 28 Sep 2018 09:00 - 09:30 People: Baldur Blöndal, Andres Löh, Ryan Scott

… it
at all, with no alternative except for laboriously declaring the instances by hand …

Cross-Platform Language Design in Scala.js

Scala 2018 When: Fri 28 Sep 2018 09:00 - 10:00 People: Sébastien Doeraene

… Have you ever wondered what is the secret sauce of Scala.js? What defines Scala.js, above all else, is the overarching will to make it cross-platform. A cross-platform language is both portable—most source code cross-compiles …

Generalized Abstract GHC.Generics

HIW 2018 When: Sun 23 Sep 2018 11:10 - 11:35 People: Ryan Scott

all existential quantification is made explicit. * Using various GHC language …

GAYER: A Graphical Audio plaYER in ReasonML

FARM 2018 When: Sat 29 Sep 2018 11:35 - 12:00 People: Cora Johnson-Roberson

… experimentation and improvisation. Additionally, since all its parameters are stored …

Coherent Explicit Dictionary Application for Haskell

Haskell 2018 When: Fri 28 Sep 2018 14:30 - 15:00 People: Thomas Winant, Dominique Devriese

… , for example, that a single order relation is used for all manipulations of an ordered …

Neither Web nor Assembly (Invited Talk)

Haskell 2018 When: Thu 27 Sep 2018 09:05 - 10:00 People: Andreas Rossberg

… WebAssembly (a.k.a. Wasm) has been put forth as a new low-level code format for the Web, which is available in all modern browsers. Yet an important design goal was to make it useful beyond “just” the web and applicable as a compilation …

(Ab)using a monadic screen-presentation EDSL as a just-intonation synth pad controller

FARM 2018 When: Sat 29 Sep 2018 14:45 - 15:10 People: Justus Sagemüller

and compounds of them, from which all standard harmony can be constructed …://en.wikipedia.org/wiki/Bohlen%E2%80%93Pierce_scale). All of these either require very many steps …

A Type and Scope Safe Universe of Syntaxes with Binding: Their Semantics and Proofs

Research Papers When: Mon 24 Sep 2018 13:22 - 13:45 People: Guillaume Allais, Robert Atkey, James Chapman, Conor McBride, James McKinna

… and for all by generic programming; and (2) how to derive properties …, and our examples have all been formalised in Agda and are available …

Capturing the Future by Replaying the Past (Functional Pearl)

Research Papers When: Mon 24 Sep 2018 15:00 - 15:23 People: James Koppel, Gabriel Scherer, Armando Solar-Lezama

… Delimited continuations are the mother of all monads! So goes the slogan inspired by Filinski’s 1994 paper, which showed that delimited continuations can … delimited continuations.

Luckily, exceptions and state are also the mother of all

Functional Programming for Compiling and Decompiling Computer-Aided Design

Research Papers When: Mon 24 Sep 2018 11:37 - 12:00 People: Chandrakana Nandi, James R. Wilcox, Taylor Blau, Dan Grossman, Zachary Tatlock


correctness, and program synthesis all play key roles in our … communities back
to more-editable CAD programs. All our prototypes have …

What You Needa Know about Yoneda: Profunctor Optics and the Yoneda Lemma (Functional Pearl)

Research Papers When: Tue 25 Sep 2018 15:00 - 15:22 People: Guillaume Boisseau, Jeremy Gibbons

… of “getter” and “setter” functions is not at all obvious. We derive the profunctor …

T08: Implement your own reactive language: the ReactiveML experiment

Tutorials When: Sat 29 Sep 2018 13:00 - 16:00 People: Guillaume Baudart, Louis Mandel, Cédric Pasteur, Marc Pouzet

… and global to all the processes whose parallel composition behave …

T02: Direct Manipulation Programming in Sketch-n-Sketch

Tutorials When: Thu 27 Sep 2018 13:00 - 16:00 People: Ravi Chugh, Nick Collins, Brian Hempel, Justin Lubin, Mikaël Mayer

… by Sketch-n-Sketch. All examples will be presented in the context of our browser …

Relational Algebra by Way of Adjunctions

Research Papers When: Wed 26 Sep 2018 10:52 - 11:15 People: Jeremy Gibbons, Fritz Henglein, Ralf Hinze, Nicolas Wu

… query language design. Most, but not all: monads do not immediately offer …

T01: Introduction to Programming and Proving in Cedille

Tutorials When: Thu 27 Sep 2018 09:00 - 12:00 People: Aaron Stump, Chris Jenkins, Colin McDonald

… This tutorial presents Cedille, a new dependently typed programming and proving language, broadly similar to tools like Coq, Agda, Lean, Idris and others. The main difference is that Cedille uses lambda encodings for all datatypes …

Casts and Costs: Harmonizing Safety and Performance in Gradual Typing

Research Papers When: Wed 26 Sep 2018 13:22 - 13:45 People: John Peter Campora, Sheng Chen, Eric Walkingshaw

… inferring such costs for all combinations of inferrable type assignments …

Keep Your Laziness in Check

Research Papers When: Mon 24 Sep 2018 10:52 - 11:15 People: Kenneth Foner, Hengchu Zhang, Leonidas Lampropoulos

… with random strictness. We tackle all three of these challenges, deriving an efficient …

Mtac2: Typed Tactics for Backward Reasoning in Coq

Research Papers When: Tue 25 Sep 2018 13:22 - 13:45 People: Jan-Oliver Kaiser, Beta Ziliani, Robbert Krebbers, Yann Régis-Gianas, Derek Dreyer

… or lemmas to break the goal into subgoals until all subgoals have been solved …

Reasonably Programmable Literal Notation

Research Papers When: Mon 24 Sep 2018 13:45 - 14:07 People: Cyrus Omar, Jonathan Aldrich

… that could all benefit from common literal notation. This paper introduces _typed …

Refunctionalization of Abstract Abstract Machines: Bridging the Gap between Abstract Abstract Machines and Abstract Definitional Interpreters (Functional Pearl)

Research Papers When: Mon 24 Sep 2018 14:07 - 14:30 People: Guannan Wei, James Decker, Tiark Rompf

… definitional interpreters is optional.

All transformations properly handle …