A Language for Secure Distributed Systems

Lo is an embryonic general-purpose programming language motivated by the observation that security, testability, and tractable concurrency all have the same solution: strict isolation between tasks communicating solely through passing messages. The project's solitary objective is to create a superb tool for software engineers in the real world – where failures happen and security matters.

Lo wasn't designed by rolling up features from existing languages but by starting with a clean slate and reimagining programming in terms of asynchronous message-passing between mutually isolated processes, then mapping the resulting constructs onto conventional syntax. Its design strives to minimize frustration by emphasizing simplicity and consistency: clear and concrete semantics embodied in a concise, intuitive, and familiar syntax.

The hope is that Lo will feel immediately comfortable to experienced developers despite some unusual semantics such as: