Compiler credits & licences

This browser workspace uses WASM-OJ, Clang/LLVM, Rust and TeaVM/OpenJDK browser toolchains. Source code remains on the device; runtime files are hosted with this website.

Packages are pinned: @wasm-oj/browser 0.2.4, core/contracts 0.2.4; toolchain-clang, toolchain-rust and toolchain-java 0.2.0. Upstream licences apply to the distributed compiler and runtime components.

Upstream source and rebuild instructions · Exact package versions and registry integrity records · Hosted asset hashes

Detailed component source revisions and licence files are preserved in each package’s licence inventory, for example Java/toolchain component inventory and browser dependency inventory.

C# / .NET WebAssembly

RoslynWeb source commit c19ad8ee486e59061514697f8b63755cb6f1d300, with its matching public .NET 10 runtime bundle. The academy adapter uses the managed WebAssembly backend in an isolated worker; it does not use a remote compiler.

Upstream source · C# runtime SHA-256 inventory · RoslynWeb MIT licence · Roslyn licence · .NET licence · .NET third-party notices

Additional runtimes and learning interpreters

C reuses Clang. Go uses the WASM-OJ Go toolchain; TypeScript uses its TypeScript and QuickJS toolchain. Lua uses Fengari 0.1.4; Ruby uses ruby.wasm 2.10.1 / Ruby 3.4; PHP uses WordPress Playground PHP 8.4.20, package 3.1.42; R uses webR 0.6.0; Perl uses WebPerl v0.09-beta.

Additional runtime SHA-256 inventory · webR and bundled component licences · Perl Artistic licence · Ruby licence · Fengari licence

Source and rebuild information: webR, ruby.wasm, PHP Playground, WebPerl, Fengari. Exact package integrity records are in the package lock file. Bundled component licences and source obligations also apply.

The Kotlin, Swift, Dart, Bash, PowerShell, Scala, Julia, Haskell and Elixir beginner interpreters are original academy code. They implement only the explicitly supported teaching subset and are not their official runtimes. Unsupported features are reported as errors; they do not execute shell commands or access the computer.

Return to the compiler workspace