Language connectors

Parallax catalogs dozens of languages as first-class connectors — not only the four production runtimes.

plx connectors
plx connectors --pairs
plx connectors go
plx connectors --maturity production
plx connectors --family scripting --json

What a connector is

RoleMeaning
RuntimeRuntimeAdapter registered with plx runtimes / doctor
Value migratePIR capture/restore across runtimes
Transmute sourceProject analysis → PUIR
Transmute targetCodegen backend

Production / experimental execute today

ConnectorExecuteValue migrateNotes
pythonYESYESNDJSON worker
javascriptYESYESNDJSON worker
typescriptvia JSAnalyze via tsc API
wasmYESNOwasmtime in-process
rubyYES (experimental)PARTIALNDJSON worker
phpYES (experimental)PARTIALNDJSON worker (when php on PATH)
goEXPERIMENTALNONDJSON worker via go run
plx run examples/demo.rb --runtime ruby --capture state
plx run examples/demo.go --runtime go
plx run examples/demo.php --runtime php --capture state

Maturity (honest)

LevelMeaning
productionReal worker/engine + tests (Python, JavaScript, WASM; TypeScript analyze)
experimentalPartial path (Ruby/PHP/Go workers; Rust Transmute target; reverse sync gated)
scaffoldIdentity registered; host probed; execute/restore return Unsupported
plannedCatalogued for roadmap; same scaffold behavior

Scaffold connectors exist so every serious language has a stable id, extension map, pair matrix row, and contribution hook — not so Parallax pretends to migrate COBOL today.

Families covered

Systems (C, C++, Rust, Go, Zig, …), managed VM (Java, Kotlin, C#, Dart, …), scripting (Ruby, PHP, Perl, Lua, …), functional (Haskell, OCaml, Elixir, Erlang, Clojure, …), mobile (Swift, Objective-C), data science (R, Julia), shell, SQL/GraphQL, smart contracts (Solidity, Move, Cairo), HDL, and more.

See plx connectors for the live table (60+ entries).

Pair highlights

typescript → rust     tier1
python → rust         tier2
typescript → go       tier2
java → rust           scaffold
csharp → rust         scaffold
solidity → rust       scaffold

Full list: plx connectors --pairs.

Contributing a real adapter

  1. Pick a scaffold id from the catalog (plx connectors <id>).
  2. Add adapters/<id>/ worker speaking the NDJSON protocol or an in-process engine.
  3. Raise maturity only when execute/capture/restore (as claimed) have tests.
  4. Follow Adapters overview — never claim YES for unsupported ops.

Dedicated crates remain for production: parallax-adapter-python, parallax-adapter-js, parallax-adapter-wasm. The catalog lives in parallax-connectors.