vix.ing · top · new · best · stats · spec

Smoothly Navigating between Functional Reactive Programming and Actors

2020/08/28 by Nick Webster, Webster, N., Marco Servetto +1
Computer Science · #Advanced Software Engineering Methodologies #FOS: Computer and information sciences #Formal Methods in Verification #Programming Languages (cs.PL) #Software Engineering Research

paper · pdf · doi:10.48550/arxiv.2008.12592

openalex publication_date 2020/08/28 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28

Abstract

We formally define an elegant multi-paradigm unification of Functional Reactive Programming, Actor Systems, and Object-Oriented Programming. This enables an intuitive form of declarative programming, harvesting the power of concurrency while maintaining safety. We use object and reference capabilities to highlight and tame imperative features: reference capabilities track aliasing and mutability, and object capabilities track I/O. Formally, our type system limits the scope, impact and interactions of impure code. - Scope: Expressions whose input is pure will behave deterministically. - Impact: Data-races and synchronisation issues are avoided. The only way for an actor to behave nondeterministically, is by mutating its state based on message delivery order. - Interactions: Signals provide a functional boundary between imperative and functional code, preventing impure code from invalidating functional assumptions.

Related