[Supporting material] On the expressive power of user-defined effects: Effect handlers, monadic reflection, delimited control

Text source-files for the mechanised proofs supporting the paper, formalised in Abella We compare the expressive power of three programming abstractions for user-defined computational effects: Bauer and Pretnar's effect handlers, Filinski's monadic reflection, and delimited control...

Full description

Bibliographic Details
Main Author: Pretnar, M
Format: Dataset
Language:English
Published: University of Oxford 2017
_version_ 1797063480388354048
author Pretnar, M
author2 Pretnar, M
author_facet Pretnar, M
Pretnar, M
author_sort Pretnar, M
collection OXFORD
description Text source-files for the mechanised proofs supporting the paper, formalised in Abella We compare the expressive power of three programming abstractions for user-defined computational effects: Bauer and Pretnar's effect handlers, Filinski's monadic reflection, and delimited control without answer-type-modification. This comparison allows a precise discussion about the relative expressiveness of each programming abstraction. It also demonstrates the sensitivity of the relative expressiveness of user-defined effects to seemingly orthogonal language features.<br/><br/> We present three calculi, one per abstraction, extending Levy's call-by-push-value. For each calculus, we present syntax, operational semantics, a natural type-and-effect system, and, for effect handlers and monadic reflection, a set-theoretic denotational semantics. We establish their basic metatheoretic properties: safety, termination, and, where applicable, soundness and adequacy. Using Felleisen's notion of a macro translation, we show that these abstractions can macro-express each other, and show which translations preserve typeability. We use the adequate finitary set-theoretic denotational semantics for the monadic calculus to show that effect handlers cannot be macro-expressed while preserving typeability either by monadic reflection or by delimited control. Our argument fails with simple changes to the type system such as polymorphism and inductive types. We supplement our development with a mechanised Abella formalisation.
first_indexed 2024-03-06T21:00:28Z
format Dataset
id oxford-uuid:3ab5c393-dee7-41d7-a2f0-576bd52391a7
institution University of Oxford
language English
last_indexed 2024-03-06T21:00:28Z
publishDate 2017
publisher University of Oxford
record_format dspace
spelling oxford-uuid:3ab5c393-dee7-41d7-a2f0-576bd52391a72022-03-26T14:03:14Z[Supporting material] On the expressive power of user-defined effects: Effect handlers, monadic reflection, delimited controlDatasethttp://purl.org/coar/resource_type/c_ddb1uuid:3ab5c393-dee7-41d7-a2f0-576bd52391a7EnglishORA DepositUniversity of Oxford2017Pretnar, MPretnar, MPretnar, MText source-files for the mechanised proofs supporting the paper, formalised in Abella We compare the expressive power of three programming abstractions for user-defined computational effects: Bauer and Pretnar's effect handlers, Filinski's monadic reflection, and delimited control without answer-type-modification. This comparison allows a precise discussion about the relative expressiveness of each programming abstraction. It also demonstrates the sensitivity of the relative expressiveness of user-defined effects to seemingly orthogonal language features.<br/><br/> We present three calculi, one per abstraction, extending Levy's call-by-push-value. For each calculus, we present syntax, operational semantics, a natural type-and-effect system, and, for effect handlers and monadic reflection, a set-theoretic denotational semantics. We establish their basic metatheoretic properties: safety, termination, and, where applicable, soundness and adequacy. Using Felleisen's notion of a macro translation, we show that these abstractions can macro-express each other, and show which translations preserve typeability. We use the adequate finitary set-theoretic denotational semantics for the monadic calculus to show that effect handlers cannot be macro-expressed while preserving typeability either by monadic reflection or by delimited control. Our argument fails with simple changes to the type system such as polymorphism and inductive types. We supplement our development with a mechanised Abella formalisation.
spellingShingle Pretnar, M
[Supporting material] On the expressive power of user-defined effects: Effect handlers, monadic reflection, delimited control
title [Supporting material] On the expressive power of user-defined effects: Effect handlers, monadic reflection, delimited control
title_full [Supporting material] On the expressive power of user-defined effects: Effect handlers, monadic reflection, delimited control
title_fullStr [Supporting material] On the expressive power of user-defined effects: Effect handlers, monadic reflection, delimited control
title_full_unstemmed [Supporting material] On the expressive power of user-defined effects: Effect handlers, monadic reflection, delimited control
title_short [Supporting material] On the expressive power of user-defined effects: Effect handlers, monadic reflection, delimited control
title_sort supporting material on the expressive power of user defined effects effect handlers monadic reflection delimited control
work_keys_str_mv AT pretnarm supportingmaterialontheexpressivepowerofuserdefinedeffectseffecthandlersmonadicreflectiondelimitedcontrol