Skip to main content

Supported Languages

Support for different programming languages is realized via Sidex backends. A backend for a language usually comprises (1) a code generator and (2) a runtime library providing functionality used by the generated code.

You can write your own code generator in Rust with the sidex-gen crate. See Third-Party Backends for more details.

Officially Supported Backends

Officially, we provide backends for the following programming languages:

In the future, we may add officially supported backends for Python and C++.

For now, we do not plan to accept pull requests adding officially supported backends.

Third-Party Backends

Sidex is a young project and there are no third-party backends yet.


If you wrote a backend for a language (may also be an officially supported one) please let us know so we can add it here.

If you develop a backend in Rust, please refrain from giving the crate a name of the form sidex-gen-*. While not enforceable on, we would like to reserve this namespace for officially supported backends. Instead, feel free to use a name of the form sidex-contrib-* clearly indicating that the backend is a third-party contribution.

If you think about developing a backend, it's probably best to have a look at the Advanced Topics.