Open Access Te Herenga Waka-Victoria University of Wellington
Browse

Smoothly Navigating between Functional Reactive Programming and Actors

journal contribution
posted on 2021-08-21, 05:35 authored by N Webster, Marco ServettoMarco Servetto
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.

History

Preferred citation

Webster, N. & Servetto, M. (2020). Smoothly Navigating between Functional Reactive Programming and Actors. http://arxiv.org/abs/2008.12592v2

Publication date

2020-08-28

Usage metrics

    Journal articles

    Categories

    No categories selected

    Keywords

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC