Saved in:
Bibliographic Details
Main Authors: Webster, Nick, Servetto, Marco, Homer, Michael
Format: Preprint
Published: 2024
Subjects:
Online Access:https://arxiv.org/abs/2405.06233
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866909199956443136
author Webster, Nick
Servetto, Marco
Homer, Michael
author_facet Webster, Nick
Servetto, Marco
Homer, Michael
contents Existing minimal Object-Oriented models (OO), like Featherweight Java (FJ), are valuable for modelling programs and designing new programming languages and tools. However, their utility in developing real-world programs is limited. We introduce the 'Fearless Heart', a novel object calculus preserving FJ's minimal and extensible nature while being more suited for constructing complex, real-world applications. To illustrate the extensibility of the Fearless Heart, we extend it with Reference Capabilities (RC), creating R-Fearless. It supports mutability and other side effects while retaining the reasoning advantages of functional programming and gaining support for features that are well-known to be enabled by RC, like automatic parallelism, caching and invariants. R-Fearless is still minimal enough to allow further extensions. It is an ideal foundation for constructing both practical systems and formal models.
format Preprint
id arxiv_https___arxiv_org_abs_2405_06233
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle The Fearless Journey [Draft]
Webster, Nick
Servetto, Marco
Homer, Michael
Programming Languages
Existing minimal Object-Oriented models (OO), like Featherweight Java (FJ), are valuable for modelling programs and designing new programming languages and tools. However, their utility in developing real-world programs is limited. We introduce the 'Fearless Heart', a novel object calculus preserving FJ's minimal and extensible nature while being more suited for constructing complex, real-world applications. To illustrate the extensibility of the Fearless Heart, we extend it with Reference Capabilities (RC), creating R-Fearless. It supports mutability and other side effects while retaining the reasoning advantages of functional programming and gaining support for features that are well-known to be enabled by RC, like automatic parallelism, caching and invariants. R-Fearless is still minimal enough to allow further extensions. It is an ideal foundation for constructing both practical systems and formal models.
title The Fearless Journey [Draft]
topic Programming Languages
url https://arxiv.org/abs/2405.06233