Write a Blog >>
ICFP 2018
Sun 23 - Sat 29 September 2018 St. Louis, Missouri, United States
Tue 25 Sep 2018 11:37 - 12:00 at Stifel Theatre - Compilation and Concurrency Chair(s): Heather Miller

Highly critical application domains, like medicine and aerospace, require the use of strict design, implementation and validation techniques. Functional languages have been used in these domains to develop synchronous dataflow programming languages for reactive systems. Causal stream functions and Functional Reactive Programming capture the essence of those languages in a way that is both elegant and robust.

To guarantee that critical systems can operate under high stress over long periods of time, these applications require clear specifications of possible faults and hazards, and how they are being handled. Modeling failure is straightforward in functional languages, and many Functional Reactive abstractions incorporate support for failure or termination. However, handling \emph{unknown types of faults}, and incorporating \emph{fault tolerance} into Functional Reactive Programming, requires a different construction and remains an open problem.

This work presents extensions to an existing functional reactive abstraction to facilitate tagging reactive transformations with hazard tags or confidence levels. We present a prototype framework to quantify the reliability of a reactive construction, by means of numeric factors or probability distributions, and demonstrate how to aid the design of fault-tolerant systems, by constraining the allowed reliability to required boundaries. By applying type-level programming, we show that it is possible to improve static analysis and have compile-time guarantees of key aspects of fault tolerance. Our approach is powerful enough to be used in systems with realistic complexity, and flexible enough to be used to guide their analysis and design, to test system properties, to verify fault tolerance properties, to perform runtime monitoring, to implement fault tolerance during execution and to address faults during runtime. We present implementations in Haskell and in Idris.

I like functional programming, functional reactive programming, aerospace, space.

Tue 25 Sep
Times are displayed in time zone: Guadalajara, Mexico City, Monterrey change

10:30 - 12:00
Compilation and ConcurrencyResearch Papers at Stifel Theatre
Chair(s): Heather MillerCarnegie Mellon University
10:30
22m
Talk
Competitive Parallelism: Getting Your Priorities Right
Research Papers
Stefan K. Muller, Umut A. AcarCarnegie Mellon University, Robert Harper
DOI
10:52
22m
Talk
Static Interpretation of Higher-Order Modules in Futhark: Functional GPU Programming in the Large
Research Papers
Martin ElsmanUniversity of Copenhagen, Denmark, Troels HenriksenUniversity of Copenhagen, Denmark, Danil AnnenkovDepartment of Computer Science, University of Copenhagen, Cosmin OanceaUniversity of Copenhagen, Denmark
Link to publication DOI
11:15
22m
Talk
Finitary Polymorphism for Optimizing Type-Directed Compilation
Research Papers
Atsushi OhoriTohoku University, Japan, Katsuhiro UenoTohoku University, Hisayuki MimaTohoku University
DOI
11:37
22m
Talk
Fault Tolerant Functional Reactive Programming (Functional Pearl)
Research Papers
Ivan PerezNational Institute of Aerospace, USA
DOI