type and effect systems
Recently Published Documents


TOTAL DOCUMENTS

10
(FIVE YEARS 1)

H-INDEX

5
(FIVE YEARS 0)

2021 ◽  
Vol 5 (ICFP) ◽  
pp. 1-29
Author(s):  
Nikita Zyuzin ◽  
Aleksandar Nanevski

Programming languages with algebraic effects often track the computations’ effects using type-and-effect systems. In this paper, we propose to view an algebraic effect theory of a computation as a variable context; consequently, we propose to track algebraic effects of a computation with contextual modal types . We develop ECMTT, a novel calculus which tracks algebraic effects by a contextualized variant of the modal □ (necessity) operator, that it inherits from Contextual Modal Type Theory (CMTT). Whereas type-and-effect systems add effect annotations on top of a prior programming language, the effect annotations in ECMTT are inherent to the language, as they are managed by programming constructs corresponding to the logical introduction and elimination forms for the □ modality. Thus, the type-and-effect system of ECMTT is actually just a type system. Our design obtains the properties of local soundness and completeness, and determines the operational semantics solely by β-reduction, as customary in other logic-based calculi. In this view, effect handlers arise naturally as a witness that one context (i.e., algebraic theory) can be reached from another, generalizing explicit substitutions from CMTT. To the best of our knowledge, ECMTT is the first system to relate algebraic effects to modal types. We also see it as a step towards providing a correspondence in the style of Curry and Howard that may transfer a number of results from the fields of modal logic and modal type theory to that of algebraic effects.


Author(s):  
FELIPE BAÑADOS SCHWERTER ◽  
RONALD GARCIA ◽  
ÉRIC TANTER

AbstractEffect systems have the potential to help software developers, but their practical adoption has been very limited. We conjecture that this limited adoption is due in part to the difficulty of transitioning from a system where effects are implicit and unrestricted to a system with a static effect discipline, which must settle for conservative checking in order to be decidable. To address this hindrance, we develop a theory of gradual effect checking, which makes it possible to incrementally annotate and statically check effects, while still rejecting statically inconsistent programs. We extend the generic type-and-effect framework of Marino and Millstein with a notion of unknown effects, which turns out to be significantly more subtle than unknown types in traditional gradual typing. We appeal to abstract interpretation to develop and validate the concepts of gradual effect checking. We also demonstrate how an effect system formulated in the framework of Marino and Millstein can be automatically extended to support gradual checking. We use gradual effect checking to develop a fully gradual type-and-effect framework, which permits interaction between static and dynamic checking for both effects and types.


2014 ◽  
Vol 134 (3-4) ◽  
pp. 355-393
Author(s):  
Letterio Galletta

2010 ◽  
Vol 21 (2) ◽  
pp. 159-207 ◽  
Author(s):  
JOHANNES BORGSTRÖM ◽  
ANDREW D. GORDON ◽  
RICCARDO PUCELLA

AbstractBehavioral type and effect systems regulate properties such as adherence to object and communication protocols, dynamic security policies, avoidance of race conditions, and many others. Typically, each system is based on some specific syntax of constraints, and is checked with anad hocsolver. Instead, we advocate types refined with first-order logic formulas as a basis for behavioral type systems, and general purpose automated theorem provers as an effective means of checking programs. To illustrate this approach, we define a triple of security-related type systems: for role-based access control, for stack inspection, and for history-based access control. The three are all instances of a refined state monad. Our semantics allows a precise comparison of the similarities and differences of these mechanisms. In our examples, the benefit of behavioral type-checking is to rule out the possibility of unexpected security exceptions, a common problem with code-based access control.


2009 ◽  
Vol 236 ◽  
pp. 163-183 ◽  
Author(s):  
Jurriaan Hage ◽  
Bastiaan Heeren

10.1142/p132 ◽  
1999 ◽  
Author(s):  
Torben Amtoft ◽  
Flemming Nielson ◽  
Hanne Riis Nielson

1999 ◽  
pp. 283-363 ◽  
Author(s):  
Flemming Nielson ◽  
Hanne Riis Nielson ◽  
Chris Hankin

Author(s):  
Flemming Nielson ◽  
Hanne Riis Nielson

1996 ◽  
Vol 28 (2) ◽  
pp. 344-345 ◽  
Author(s):  
Flemming Nielson

Sign in / Sign up

Export Citation Format

Share Document