J++
An experimental language for composing Jev questions.
Towow.ai’s language has its own source form and a Rust runtime. Questions and methods are composed the way functions are, so a decision can be built out of smaller ones.
# J++
**Compose questions. Compose methods. Compose the compositions.**
[简体中文](README.zh-CN.md) · [Why J++](docs/why-jpp.md) · [Ecosystem reassessment](docs/updates/2026-09-23-ecosystem-reassessment.md) · [Progress](docs/progress.md) · [Language design & grammar](docs/design.md) · [Contributing](CONTRIBUTING.md)
J++ is an experimental programming-language project exploring semantic judgment as a programmable operation. Questions are values. Methods are values. A composed method can become a building block in another method.
**Write standalone `.jpp` source and run it with the native Rust implementation.** It parses source, checks language rules and executes methods through one shared kernel. The earlier Python 3.12 embedded implementation remains available as a behavior reference and experiment tool. [Rust package and examples](rust/README.md) · [Language implementation decision](docs/adr/0001-rust-kernel.md).
## Run standalone J++
You need Rust 1.85 or newer. Install the `jpp` command from the `rust/` folder and run programs from there (a program finds its libraries
next to its own file, and the installed command does not carry them):
```sh
git clone https://github.com/towow-ai/jpp.git
cd jpp/rust
cargo install --locked --path crates/jpp # release build, about two minutes
jpp run examples/composition.jpp 2>/dev/null | tail -n 5
```
The last command prints `"value": {"expected": 43, "result": 43}`: a program that composes two small methods into a new one.
The other examples cover the three ways in: **a batch of items from one sentence of purpose** (`purpose_run`), **a process that keeps
changing** (`purpose_drive`, with a small world) and **modules you fill in yourself** (`modules_run`), plus filling in missing information
and replaying a run from its led