CallE: An Effect System for Method Calls

07/10/2019
by   Isaac Oscar Gariano, et al.
0

Effect systems are used to statically reason about the effects an expression may have when evaluated. In the literature, such effects include various behaviours as diverse as memory accesses and exception throwing. Here we present CallE, an object-oriented language that takes a flexible approach where effects are just method calls: this works well because ordinary methods often model things like I/O operations, access to global state, or primitive language operations such as thread creation. CallE supports both flexible and fine grained control over such behaviour, in a way designed to minimise the complexity of annotations. CallE's effect system can be used to prevent OO code from performing privileged operations, such as exiting the program, or performing network communication. It can also be used to ensure determinism, by preventing methods from (indirectly) calling non-deterministic primitives like random number generation or file reading.

READ FULL TEXT
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 2

page 3

page 4

06/26/2018

Verification of Shared-Reading Synchronisers

Synchronisation classes are an important building block for shared memor...
10/18/2020

Handling Bidirectional Control Flow: Technical Report

Pressed by the difficulty of writing asynchronous, event-driven code, ma...
05/27/2020

Local Algebraic Effect Theories

Algebraic effects are computational effects that can be described with a...
10/01/2019

Mμl: The Power of Dynamic Multi-Methods

Multi-methods are a straightforward extension of traditional (single) dy...
02/25/2021

RbSyn: Type- and Effect-Guided Program Synthesis

In recent years, researchers have explored component-based synthesis, wh...
01/28/2020

Unifying graded and parameterised monads

Monads are a useful tool for structuring effectful features of computati...
06/13/2006

On the Efficiency of Strategies for Subdividing Polynomial Triangular Surface Patches

In this paper, we investigate the efficiency of various strategies for s...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.