diff --git a/layouts/index.html b/layouts/index.html index a6458d3..1c38fb0 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -100,9 +100,9 @@
Bag,
Time, Date and BigDecimal (from
go-composites) — alongside Complex,
- Rational and Math. Because the whole stack is pure Go it also compiles to
- WebAssembly and runs entirely in the browser: a
- playground offers a Ruby REPL
- and an image pipeline (load → blur/edges → render) with no server-side code.
+ Rational and Math.
+ WebAssembly is a first-class target. Because everything is pure Go
+ with cgo disabled, the interpreter and the whole stack compile to GOOS=js GOARCH=wasm and
+ run entirely in the browser — there is no server-side code. It ships two ways: a
+ self-contained playground links
+ the full interpreter (front-end included) so a page can evaluate arbitrary Ruby — a REPL plus
+ an image pipeline (load → blur/edges → render) — while
+ rbgo build --closed --target wasm app.rb cross-compiles a closed-world wasm app that runs
+ one program with no front-end linked and drives the page's DOM and Canvas through the built-in
+ JS module (JS.document, JS.log, JS::Ref#call,
+ JS.raf) — a Ruby browser app with no hand-written JavaScript.
Conformance & benchmarking. Correctness is judged against
- two independent reference implementations of Ruby 4.0 — MRI (CRuby) 4.0.5
- and JRuby — with a three-way differential oracle
+ independent reference implementations of Ruby 4.0 — MRI (CRuby) 4.0.5
+ and JRuby, with TruffleRuby being added as a third reference — via a
+ differential oracle
(scripts/oracle.sh
- runs a snippet through all three and flags any divergence). Beyond synthetic tests, the bar is
+ runs a snippet through rbgo and the references and flags any divergence). Beyond synthetic tests, the bar is
real-world Ruby: idioms and test suites drawn from reference applications — Ruby on
Rails (ActiveSupport's pure-Ruby core_ext) and OpenVox/Puppet
(Ruby-heavy manifest evaluation) — drive the remaining work by demand and double as both conformance
- corpora and performance baselines (pure-Go CGO=0 vs CRuby's C and JRuby's JVM JIT).