Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data.

Fuga Kawamata

dblp:353/1987 · DBLP profile ↗
← Back
1ranked-venue papers
1as first author
1since 2021 · last 2024
0009-0003-4147-9572ORCID · reported

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 1 · 1 first-author · 1 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
1 paper
Programming languages and type systems · 100%

Topics — the 6 heaviest of 6, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Programming languages and type systems › computational effects
algebraic effects
0.812024
Answer Refinement Modification: Refinement Type System for Algebraic Effects and Handlers · Proc. ACM Program. Lang. 2024
Programming languages and type systems › control operators
delimited continuations
0.812024
Answer Refinement Modification: Refinement Type System for Algebraic Effects and Handlers · Proc. ACM Program. Lang. 2024
Programming languages and type systems › computational effects › algebraic effects
effect handlers
0.812024
Answer Refinement Modification: Refinement Type System for Algebraic Effects and Handlers · Proc. ACM Program. Lang. 2024
Programming languages and type systems › type systems › refinement types
refinement type system
0.812024
Answer Refinement Modification: Refinement Type System for Algebraic Effects and Handlers · Proc. ACM Program. Lang. 2024
Programming languages and type systems › program manipulation
continuation-passing style
0.212024
Answer Refinement Modification: Refinement Type System for Algebraic Effects and Handlers · Proc. ACM Program. Lang. 2024
Programming languages and type systems › type systems
refinement types
0.212024
Answer Refinement Modification: Refinement Type System for Algebraic Effects and Handlers · Proc. ACM Program. Lang. 2024

Methods — techniques the papers use, named apart from their topics

answer type modification · 0.8answer refinement modification · 0.8CPS transformation · 0.8
YearPublicationVenuePosition
2024 Answer Refinement Modification: Refinement Type System for Algebraic Effects and Handlers
abstract
Algebraic effects and handlers are a mechanism to structure programs with computational effects in a modular way. They are recently gaining popularity and being adopted in practical languages, such as OCaml. Meanwhile, there has been substantial progress in program verification via refinement type systems . While a variety of refinement type systems have been proposed, thus far there has not been a satisfactory refinement type system for algebraic effects and handlers. In this paper, we fill the void by proposing a novel refinement type system for languages with algebraic effects and handlers. The expressivity and usefulness of algebraic effects and handlers come from their ability to manipulate delimited continuations , but delimited continuations also complicate programs' control flow and make their verification harder. To address the complexity, we introduce a novel concept that we call answer refinement modification (ARM for short), which allows the refinement type system to precisely track what effects occur and in what order when a program is executed, and reflect such information as modifications to the refinements in the types of delimited continuations. We formalize our type system that supports ARM (as well as answer type modification, or ATM) and prove its soundness. Additionally, as a proof of concept, we have extended the refinement type system to a subset of OCaml 5 which comes with a built-in support for effect handlers, implemented a type checking and inference algorithm for the extension, and evaluated it on a number of benchmark programs that use algebraic effects and handlers. The evaluation demonstrates that ARM is conceptually simple and practically useful. Finally, a natural alternative to directly reasoning about a program with delimited continuations is to apply a continuation passing style (CPS) transformation that transforms the program to a pure program without delimited continuations. We investigate this alternative in the paper, and show that the approach is indeed possible by proposing a novel CPS transformation for algebraic effects and handlers that enjoys bidirectional (refinement-)type-preservation. We show that there are pros and cons with this approach, namely, while one can use an existing refinement type checking and inference algorithm that can only (directly) handle pure programs, there are issues such as needing type annotations in source programs and making the inferred types less informative to a user.
Fuga Kawamata, Hiroshi Unno 0001, Taro Sekiyama, Tachio Terauchi
Proc. ACM Program. Lang.1