The Fearless Journey [Draft]
Nick Webster, Marco Servetto, and Michael Homer

TL;DR
The paper introduces the 'Fearless Heart', an extension of Featherweight Java that supports complex real-world programming features like mutability and side effects, while maintaining minimality and reasoning advantages.
Contribution
It presents a new object calculus, 'Fearless Heart', that enhances minimal OO models with real-world features, and extends it with Reference Capabilities to support mutability and parallelism.
Findings
R-Fearless supports mutability and side effects.
It retains reasoning advantages of functional programming.
It is suitable for practical systems and formal models.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Formal Methods in Verification · Software Engineering and Design Patterns
