The core idea: syntax differences between languages are mostly historical accidents. At the operation level, they're doing the same thing.
Polyglot lets you write .poly files mixing syntax from multiple languages, compiled to WASM or native. All interpreters are embedded pure-Rust engines (Boa for JS, Rhai for scripting, SWC for TypeScript). Zero external dependencies.
What works today:
- Expression macros: js!{}, py!{}, ts!{}
- Multi-block files with #[lang] annotations
- Hot reload, LSP, VS Code extension
- WASM compilation with HTML bundles
The demo is a character-level GPT trainer — Rust transformer math, React UI, CSS, WebGPU shaders, all in one file, runs in browser.
nexon33•1h ago
Polyglot lets you write .poly files mixing syntax from multiple languages, compiled to WASM or native. All interpreters are embedded pure-Rust engines (Boa for JS, Rhai for scripting, SWC for TypeScript). Zero external dependencies.
What works today: - Expression macros: js!{}, py!{}, ts!{} - Multi-block files with #[lang] annotations - Hot reload, LSP, VS Code extension - WASM compilation with HTML bundles
The demo is a character-level GPT trainer — Rust transformer math, React UI, CSS, WebGPU shaders, all in one file, runs in browser.
GitHub: https://github.com/nexon33/polyglot
Looking for feedback on failure modes I haven't considered.