Language support
This page explains the various levels of support for the growing number of source languages supported for writing Runnables in Reactr. Projects in the Suborbital ecosystem such as Atmo or Sat use the Reactr runtime to execute these WebAssembly, allowing them to interface with the runtime through the Runnable interface. The languages supported may vary across Reactr releases, and Runtime API support offered for some of these languages may be limited depending on the state of the current implementation.
Our subo
command line tool can help you create starter templates for Runnables in the various supported languages. See Creating Runnables for the --lang
parameters for each.
Support status
Stable
Language | --lang= | Support Status |
---|---|---|
JavaScript | --lang=javascript | Beta |
TypeScript | --lang=typescript | Beta |
Swift | --lang=swift | Preview |
AssemblyScript | --lang=assemblyscript | Beta |
TinyGo | --lang=tinygo | Beta |
Grain | --lang=grain | Beta |
Rust | --lang=rust | Stable |
WebAssembly Text | --lang=wat | Stable |
- Rust support is implemented through the native WebAssembly support of the Rust compiler.
- Go support uses the Tiny Go compiler to target WebAssembly.
Support status interpretation
Stable
Indicates complete support of language features and most, if not all Runnable APIs. The languages in this group are usually the first to receive updates when a new feature is added to the Runnable API.
Beta
Indicative of widespread support for language features and most Runnable APIs. Some newer or more complex APIs might be missing, and certain language features might be unimplemented, or may not be completely stable.
Preview
Support for the language has only recently landed, or is considered experimental. Some language features may not work, or will fail. Some Runnable APIs might not be implemented yet, or may not work as intended.