Tier 2 languages can be compiled to WASM modules, their standard library is built on WASI Preview 1 and there is a WIT binding generator available for them.
Using the binding generator Tier 2 languages can take full advantage of Golem’s features:
- They can define their own typed interface that can be invoked via Golem
- They can use additional host interfaces such as WASI-HTTP and the Golem Promise API
This makes Tier 2 languages applicable in both actor-like and workflow-like use cases.
The currently supported Tier 2 languages are:
💡Zig may be lifted to be a Tier 2 guest language in the near future, as it is supposed to work with bindings generated for C.
JVM languages like
Java, Scala, Kotlin and Clojure could in theory be Tier 2 guest languages by using the experimental
https://github.com/fermyon/teavm-wasi but it is not working currently.