NVLang: Unified Static Typing for Actor-Based Concurrency on the BEAM
Miguel de Oliveira Guerreiro (Instituto Superior Tecnico, University of Lisbon)

TL;DR
NVLang introduces static type safety to actor-based systems on the BEAM by encoding message protocols with algebraic data types, ensuring compile-time protocol conformance and reducing runtime errors.
Contribution
It presents a novel type system for actor communication that enforces protocol correctness at compile time using algebraic data types and extends Hindley-Milner inference for message tracking.
Findings
Type-safe actor message protocols via ADTs
Elimination of message-passing errors
Seamless Erlang interoperability
Abstract
Actor-based systems like Erlang/OTP power critical infrastructure -- from telecommunications to messaging platforms -- handling millions of concurrent connections with legendary reliability. Yet these systems lack static guarantees about message protocols: processes communicate by sending arbitrary messages that pattern-matched at runtime, deferring protocol violations to production failures. We present NVLang, a statically typed functional language that brings comprehensive type safety to the BEAM virtual machine while preserving actor model's simplicity and power. NVLang's central contribution that algebraic data types (ADTs) naturally encode actor message protocols: each actor declares the sum type representing its message vocabulary, and the type system enforces protocol conformance at compile time. We introduce typed process identifiers (Pid[T]) that encode the protocol an actor…
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 · Software System Performance and Reliability · Distributed systems and fault tolerance
