Lingua Franca is a polyglot coordination language for reactive, concurrent, and time-sensitive applications.

Lingua Franca (LF) is a polyglot coordination language built to bring deterministic reactive concurrency and time to mainstream target programming languages (currently C, C++, Python, TypeScript, and Rust). LF is supported by a runtime system that is capable of concurrent and distributed execution of reactive programs that are deployable on the Cloud, the Edge, and even on bare-iron embedded platforms.

A Lingua Franca program specifies the interactions between components called reactors. The logic of each reactor is written in plain target code. A code generator synthesizes one or more programs in the target language, which are then compiled using standard tool chains. If the application has exploitable parallelism, then it executes transparently on multiple cores without compromising determinacy. A distributed application translates into multiple programs and scripts to launch those programs on distributed machines. The communication fabric connecting components is synthesized as part of the programs.

What is Lingua Franca?

Reactor-oriented

Reactors are reactive and composable concurrent software components with inputs, outputs, and local state.

Concurrent

Reactions to events are concurrent unless there is an explicit dependency between them.

Deterministic

Lingua Franca programs are deterministic by default and therefore easy to test.