Gothenburg, Sweden
Higher-Order Programming with Effects
A recurring theme in many papers at ICFP, and in the research of many ICFP attendees, is the interaction of higher-order programming with various kinds of effects: storage effects, I/O, control effects, concurrency, etc. While effects are of critical importance in many applications, they also make it hard to build, maintain, and reason about one's code. Higher-order languages (both functional and object-oriented) provide a variety of abstraction mechanisms to help "tame" or "encapsulate" effects (e.g. monads, ADTs, ownership types, typestate, first-class events, transactions, Hoare Type Theory, session types, substructural and region-based type systems), and a number of different semantic models and verification technologies have been developed in order to codify and exploit the benefits of this encapsulation (e.g. bisimulations, step-indexed Kripke logical relations, higher-order separation logic, game semantics, various modal logics). But there remain many open problems, and the field is highly active.
The goal of the HOPE workshop is to bring researchers from a variety of different backgrounds and perspectives together to exchange new and exciting ideas concerning the design, semantics, implementation, and verification of higher-order effectful programs.
We want HOPE to be as informal and interactive as possible. The program will thus involve a combination of invited talks, contributed talks about work in progress, and open-ended discussion sessions. There will be no published proceedings, but participants will be invited to submit working documents, talk slides, etc. to be posted on this website.
Session 1: Welcome and Invited Talk |
|
09:00 | Introduction
Neel Krishnaswami and Hongseok Yang |
09:10 |
Verifying Security Properties of SES Programs
(videos:
part 1,
part 2)
Philippa Gardner |
10:00 | Coffee Break |
Session 1: Monads and Effects |
|
10:30 | Towards indexed algebraic effects and handlers
Stevan Andjelkovic |
11:00 |
From stateful to stackful computation
(video)
Danel Ahman and Tarmo Uustalu |
11:30 |
Separating Entangled State
(video)
Kwok Cheung |
12:00 | Lunch (NOTE: lunch is two hours) |
Session 2: Putting Theory into Practice |
|
14:00 |
Graphical Algebraic Foundations for Monad Stacks
(video)
Ohad Kammar |
14:30 |
Delimited control with multiple prompts in theory and practice
Paul Downen and Zena M. Ariola. |
15:00 |
A Type Directed model of Memory Locality and the design of High Performance Array APIs
(video)
Carter Schonwald |
15:30 | Coffee Break |
Session 3: Verification and Mechanization |
|
16:00 |
Compositional Compiler Verification via Parametric Simulation
(video)
Georg Neis, Chung-Kil Hur, Jan-Oliver Kaiser, Derek Dreyer and Viktor Vafeiadis |
16:30 |
ModuRes: a Coq Library for Reasoning about Concurrent Higher-Order Imperative Programming Languages
Filip Sieczkowski and Lars Birkedal |
Philippa Gardner, Imperial College London
Secure ECMAScript (SES) is a subset of JavaScript, designed in such a way that untrusted code can safety co-exist with trusted code. We introduce a program logic for verifying security properties of SES programs. It follows separation logic in that we can make local assertions about local state. It is different from separation logic in that we can also make global assertions about the global state and its interface with the local state. For example, we can globally assert that untrusted objects do not contain pointers to local trusted objects. Such assertions are key for describing security properties of common SES programs. This logic builds on the work of Gardner, Maffeis and Smith on reasoning about a core fragment of JavaScript (POPL2012), and the recent work of Smith on extending the logic to handle higher-order functions.
This is joint work with Gareth Smith and Thomas Wood, Imperial.
We solicit proposals for contributed talks. We recommend preparing proposals of at most 2 pages, in either plain text or PDF format. However, we will accept longer proposals or submissions to other conferences, under the understanding that PC members are only expected to read the first two pages of such longer submissions. When submitting talk proposals, authors should specify how long a talk the speaker wishes to give. By default, contributed talks will be 30 minutes long, but proposals for shorter or longer talks will also be considered. Speakers may also submit supplementary material (e.g. a full paper, talk slides) if they desire, which PC members are free (but not expected) to read.
We are interested in talks on all topics related to the interaction of higher-order programming and computational effects. Talks about work in progress are particularly encouraged. If you have any questions about the relevance of a particular topic, please contact the PC chairs, Neel Krishnaswami (N.Krishnaswami@cs.bham.ac.uk) and Hongseok Yang (hongseok00@gmail.com).
Deadline for talk proposals: | June 13, 2014 (Friday) | |
Notification of acceptance: | July 4, 2014 (Friday) | |
Workshop: | August 31, 2014 (Sunday) | |
Submission: | Use this Easychair site |
Program Co-Chairs | |
Neel Krishnaswami (University of Birmingham) | |
Hongseok Yang (University of Oxford) | |
Program Committee | |
Zena Ariola (University of Oregon) | |
Ohad Kammar (University of Cambridge) | |
Ioannis Kassios (ETH Zurich) | |
Naoki Kobayashi (University of Tokyo) | |
Paul Blain Levy (University of Birmingham) | |
Aleks Nanevski (IMDEA) | |
Scott Owens (University of Kent) | |
Sam Staton (Radboud University Nijmegen) | |
Steve Zdancewic (University of Pennsylvania) |
This is the 3rd edition of the HOPE workshop.
The 2nd edition of the workshop was held in Boston, Massachusetts, in September 2013.
The 1st edition of the workshop was held in Copenhagen, Denmark, in September 2012.