Latent Effects for Reusable Language ComponentsVirtual
Mon 18 Oct 2021 19:20 - 19:35 at Zurich D - Language Design (mirror) Chair(s): Andreea Costea
The development of programming languages can be quite complicated and costly. Hence, much effort has been devoted to the modular definition of language features that can be reused in various combinations to define new languages and experiment with their semantics. A notable outcome of these efforts is the algebra-based “datatypes à la carte” (DTC) approach. When combined with algebraic effects, DTC can model a wide range of common language features. Unfortunately, the current state of the art does not cover modular definitions of advanced control-flow mechanisms that defer execution to an appropriate point, such as call-by-name and call-by-need evaluation, as well as (multi-)staging.
This paper defines latent effects, a generic class of such control-flow mechanisms. We demonstrate how function abstractions, lazy computations and a MetaML-like staging can all be expressed in a modular fashion using latent effects, and how they can be combined in various ways to obtain complex semantics. We provide a full Haskell implementation of our effects and handlers with a range of examples.
Mon 18 OctDisplayed time zone: Central Time (US & Canada) change
10:50 - 12:10 | |||
10:50 15mTalk | A Typed Programmatic Interface to Contracts on the BlockchainVirtual Research Papers | ||
11:05 15mTalk | Adaptable Traces for Program ExplanationsVirtual Research Papers Divya Bajaj Oregon State University, Martin Erwig Oregon State University, Danila Fedorin Oregon State University, Kai Gay Oregon State University | ||
11:20 15mTalk | Latent Effects for Reusable Language ComponentsVirtual Research Papers Birthe van den Berg KU Leuven, Casper Bach Poulsen Delft University of Technology, Tom Schrijvers KU Leuven, Nicolas Wu Imperial College London, UK | ||
11:35 15mTalk | The Choice Construct in the Soufflé LanguageVirtual Research Papers Xiaowen Hu The University of Sydney, Joshua Karp The University of Sydney, David Zhao The University of Sydney, Abdul Zreika The University of Sydney, Xi Wu The University of Sydney, Bernhard Scholz University of Sydney | ||
11:50 20mLive Q&A | Q&A and discussionVirtual Research Papers |
18:50 - 20:10 | Language Design (mirror)Research Papers at Zurich D Chair(s): Andreea Costea School of Computing, National University Of Singapore | ||
18:50 15mTalk | A Typed Programmatic Interface to Contracts on the BlockchainVirtual Research Papers | ||
19:05 15mTalk | Adaptable Traces for Program ExplanationsVirtual Research Papers Divya Bajaj Oregon State University, Martin Erwig Oregon State University, Danila Fedorin Oregon State University, Kai Gay Oregon State University | ||
19:20 15mTalk | Latent Effects for Reusable Language ComponentsVirtual Research Papers Birthe van den Berg KU Leuven, Casper Bach Poulsen Delft University of Technology, Tom Schrijvers KU Leuven, Nicolas Wu Imperial College London, UK | ||
19:35 15mTalk | The Choice Construct in the Soufflé LanguageVirtual Research Papers Xiaowen Hu The University of Sydney, Joshua Karp The University of Sydney, David Zhao The University of Sydney, Abdul Zreika The University of Sydney, Xi Wu The University of Sydney, Bernhard Scholz University of Sydney | ||
19:50 20mLive Q&A | Q&A and discussionVirtual Research Papers |