Jam Programming Language
More about the language here.
There's nothing available to use yet, and I've also disabled issues and pull requests on the repo. I'll re-enable both after the v0.1 release and once there's a proper documentation website. If there's anything you'd like to ask directly, feel free to send me an email.
Jam will move to an org in the future, but right now it's mostly me maintaining the language and I'm considering testing other options besides GitHub, so I'd like to wait a bit before starting to move things around.
In case you want to test before v0.1:
brew tap raphamorim/jam https://github.com/raphamorim/jam
brew install --HEAD jam
The compiler is written in Rust (it started as C++; the last commit carrying that implementation is 4e66bc6). You need the Rust toolchain (1.96, picked up automatically via rust-toolchain.toml) and LLVM 22 — brew install llvm, or point LLVM_CONFIG at your llvm-config.
make build # debug build (cargo build -p jam)
make test # Rust unit tests + the .jam corpus under tests/
make install # release build, installs jam + std to ~/.local
The installed jam finds the standard library relative to its own binary (<prefix>/lib/jam/std). During development it falls back to ./std in the repo, and JAM_STD_PATH (or --std-path) overrides both.
No AI Policy (issues and pull requests). You can comment in your native language if you are not confortable with English.
-C key=value codegen-options CLI shape (opt-level / lto / strip) and ABI by-value-vs-by-pointer threshold heuristics. https://github.com/rust-lang/rustvar/let distinction and law-of-exclusivity model that informed Jam's let / mut / move binding modes and aliasing rules. See Racordon & Abrahams (cited above) for the formal treatment; Dave Abrahams is the principal designer of Swift's value semantics, and the paper uses Val/Hylo as a research vehicle for the underlying MVS ideas. https://www.hylo-lang.org/Jam logo/mascot was created by Anthony Orozco.
This software is distributed under the Apache License 2.0 with LLVM Exceptions.
488 commits
Rust
99.1%
Jam Programming Language
More about the language here.
There's nothing available to use yet, and I've also disabled issues and pull requests on the repo. I'll re-enable both after the v0.1 release and once there's a proper documentation website. If there's anything you'd like to ask directly, feel free to send me an email.
Jam will move to an org in the future, but right now it's mostly me maintaining the language and I'm considering testing other options besides GitHub, so I'd like to wait a bit before starting to move things around.
In case you want to test before v0.1:
brew tap raphamorim/jam https://github.com/raphamorim/jam
brew install --HEAD jam
The compiler is written in Rust (it started as C++; the last commit carrying that implementation is 4e66bc6). You need the Rust toolchain (1.96, picked up automatically via rust-toolchain.toml) and LLVM 22 — brew install llvm, or point LLVM_CONFIG at your llvm-config.
make build # debug build (cargo build -p jam)
make test # Rust unit tests + the .jam corpus under tests/
make install # release build, installs jam + std to ~/.local
The installed jam finds the standard library relative to its own binary (<prefix>/lib/jam/std). During development it falls back to ./std in the repo, and JAM_STD_PATH (or --std-path) overrides both.
No AI Policy (issues and pull requests). You can comment in your native language if you are not confortable with English.
-C key=value codegen-options CLI shape (opt-level / lto / strip) and ABI by-value-vs-by-pointer threshold heuristics. https://github.com/rust-lang/rustvar/let distinction and law-of-exclusivity model that informed Jam's let / mut / move binding modes and aliasing rules. See Racordon & Abrahams (cited above) for the formal treatment; Dave Abrahams is the principal designer of Swift's value semantics, and the paper uses Val/Hylo as a research vehicle for the underlying MVS ideas. https://www.hylo-lang.org/Jam logo/mascot was created by Anthony Orozco.
This software is distributed under the Apache License 2.0 with LLVM Exceptions.
488 commits
Rust
99.1%