A compile-to-JavaScript language with tight TypeScript integration. See design/mvp/README.md for information about planned features.
External Requirements:
- rust with the
wasm32-wasi
target installed - wasi-sdk
- cargo-watch
- node
To run the demo, run the following commands in seperate terminals:
yarn watch-wasm
yarn serve
cargo insta test
The parser is broken down into two parts:
- a tree-sitter parser which generates a CST
- a rust-based parser which walks the CST and produces an AST
NOTE: The AST models functions as lambdas whereas the CST does not.
See crates/tree_sitter_escalier/README.md for details on how to modify the tree-sitter parser.