Simple Reference Immutability for System F-sub

07/11/2023
by   Edward Lee, et al.
0

Reference immutability is a type based technique for taming mutation that has long been studied in the context of object-oriented languages, like Java. Recently, though, languages like Scala have blurred the lines between functional programming languages and object oriented programming languages. We explore how reference immutability interacts with features commonly found in these hybrid languages, in particular with higher-order functions – polymorphism – and subtyping. We construct a calculus System F-sub-M which encodes a reference immutability system as a simple extension of F-sub and prove that it satisfies the standard soundness and immutability safety properties.

READ FULL TEXT
research
09/21/2013

PRoMoTo 2013 proceedings

Programming for Mobile and Touch (PRoMoTo'13) was held at the 2013 ACM S...
research
05/16/2017

A Co-contextual Type Checker for Featherweight Java (incl. Proofs)

This paper addresses compositional and incremental type checking for obj...
research
03/11/2021

Classical (Co)Recursion: Programming

Our aim here is to illustrate how the benefits of structural corecursion...
research
04/21/2022

Decomposition Without Regret

Programming languages are embracing both functional and object-oriented ...
research
05/18/2018

Partial Cartesian Graph Product

In this paper we define a new product-like binary operation on directed ...
research
11/02/2022

Fluent APIs in Functional Languages (full version)

Fluent API is an object-oriented pattern for elegant APIs and embedded D...
research
07/02/2019

Local Reasoning for Robust Observational Equivalence

We propose a new core calculus for programming languages with effects, i...

Please sign up or login with your details

Forgot password? Click here to reset