Smoothly Navigating between Functional Reactive Programming and Actors

08/28/2020
by   N. Webster, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/21/2023

Tackling the Awkward Squad for Reactive Programming: The Actor-Reactor Model

Reactive programming is a programming paradigm whereby programs are inte...
research
10/28/2021

On the Importance and Shortcomings of Code Readability Metrics: A Case Study on Reactive Programming

Well structured and readable source code is a pre-requisite for maintain...
research
03/28/2018

Vehicle Platooning Simulations with Functional Reactive Programming

Functional languages have provided major benefits to the verification co...
research
04/01/2021

Immutability and Design Patterns in Ruby

Functional Programming has seen a resurgence in interest in the last few...
research
09/03/2019

Towards Gradual Checking of Reference Capabilities

Concurrent and parallel programming is difficult due to the presence of ...
research
11/08/2019

ROSY: An elegant language to teach the pure reactive nature of robot programming

Robotics is incredibly fun and is long recognized as a great way to teac...
research
07/20/2023

An Exceptional Actor System (Functional Pearl)

The Glasgow Haskell Compiler is known for its feature-laden runtime syst...

Please sign up or login with your details

Forgot password? Click here to reset