Tier 2 languages
Tier 2 languages can be compiled to WASM modules and they support WASI Preview 1 but there is no way to generate bindings for WIT interfaces.
This restricts them to only expose a single, parameterless run
function and they can only access the host functionalities part of WASI Preview 1. (standard IO, files and filesystems, clock, random, cmd args / environment variables).
It is possible to pass input to these functions using the standard input and to get back their standard output as the call's results, but this function can only be called once for each worker.
Golem provides two special calling conventions for workers implemented with a tier 2 language:
- The
stdio
calling convention passes the invocation's parameters through the worker's standard input, and parses it's standard output as JSON, returning as the invocation's result. A worker after anstdio
invocation is no longer usable.
The currently supported Tier 2 languages are:
Possible other supported Tier 2 languages added in the near future are Ruby, PHP and Haskell.