hn.today

Intuitive concurrent programming in any language

lf-lang.org32 points6 comments
Screenshot of Intuitive concurrent programming in any language

Lingua Franca is a reactor-oriented coordination language designed to build deterministic, multi-threaded, time-sensitive, embedded, and distributed systems. It embeds timing semantics at its core and enforces determinism by construction, removing the need for manual thread management, locks, or ad hoc synchronization. Causality analysis detects invalid interactions (for example, it will flag a program where one player observes another’s move before revealing its own in a simultaneous rock-paper-scissors reveal), ensuring repeatable behavior that is more predictable than plain threads, pub/sub, actors, or service-oriented approaches. The model makes it straightforward to specify precisely timed behavior and to avoid race conditions and nondeterminism.

The language is a coordination layer rather than a new implementation language: reactor bodies are written in existing languages such as C, C++, Python, TypeScript, and Rust, so teams keep familiar toolchains while gaining deterministic concurrency and easier distribution. Transitioning from single-process to distributed deployments requires minimal changes because communication and timing are abstracted by the runtime. Originating from decades of academic research at UC Berkeley and extended by collaborators at several universities, the project is open source, actively developed, and accompanied by documentation, examples, and runtime/compiler improvements available on GitHub.

Read on lf-lang.org6 comments on Hacker News

Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.

More in Programming

My C23 Conventions

My C23 Conventions

Abner Coimbre discusses modern C conventions in C23, emphasizing the use of maybe_unused to handle unused return values and improve code clarity. He also highlights issues with designated initializers not zero-initializing structs, leading to more careful struct initialization practices. (abner.page)

The daily digest

Today's best Hacker News stories, summarized and screenshotted, one email a day.