Skip to content

Target languages

Goalchemy emits source for eight target languages. Each target preserves the accepted source semantics through its runtime. Install the target tools to build and run generated output.

Target Tools to run generated programs Entry or build command
Go Go 1.25+ go run .
TypeScript Node.js 22.6+ node main.ts
Python Python 3.10+ python3 main.py
Java JDK 21+ sh run.sh
C# .NET SDK 8 sh run.sh or dotnet run
Rust Stable Rust, edition 2021 sh run.sh or cargo run --release
C C17 compiler, threaded bdwgc 8.x sh run.sh
Swift (experimental) Swift 6.4, C compiler, pkg-config, OpenSSL 3, zlib, libcurl sh run.sh

Commands in the last column run from the generated output directory. Native capabilities can add dependencies beyond the base tools. Swift includes its native prerequisites even for pure-logic programs; Linux x86_64 is its verified baseline.

A main root package emits an executable. A non-main root emits a library with a target-specific public value boundary. Generated output also includes a README.md, diagnostic mappings, and a manifest of its source packages, contracts, and file inventory.

The compiler’s output is a foundation for SDK packaging. Your delivery pipeline owns ecosystem-specific release metadata, dependency installation, and native consumer tests. Start with building an SDK.

The feature matrix records source feature coverage. It does not imply every host platform, dependency combination, or public API shape has been validated. Consult the individual target guide and limitations.

For exact file inventories and entry behavior, read commands and output. Deeper design and verification notes live under each target’s implementation details.