A math-native programming language for science, data, and visualization.
JMax is what you'd build if you started from "I want MATLAB / Julia / R / Mathematica, but as a single self-contained tool with no install dance and 2,500 functions built in." It's a complete data-science surface — linear algebra, signal processing, plotting, statistics, ML primitives — projected onto flowG so the same code runs on CPU, Apple-silicon Metal, or WebGPU.
This is the public release surface. Source is private at openIE-dev/jmax-core.
Try it in your browser — no install: play.charlot-lang.dev runs the JMax evaluator compiled to WebAssembly. Nothing leaves the page.
Release binaries + examples + documentation. JMax is free to use software, not an open-source project. See LICENSE for Business Source License 1.1 terms — converts to Apache-2.0 four years after each binary's release date.
| Binary | Purpose |
|---|---|
jmax |
The JMax CLI: REPL, file runner, formatter, MCP server |
Plus a Rust library, jmax, for embedding.
# via cargo
cargo install jmax
# via cargo-binstall (prebuilt binary)
cargo binstall jmax
# direct download
curl -fsSL https://github.com/openIE-dev/jmax/releases/latest/download/jmax-$(uname -s)-$(uname -m).tar.gz | tar xzPlatform support:
| Platform | Status |
|---|---|
| macOS arm64 (Apple Silicon) | shipping |
| macOS x86_64 | shipping |
| Linux x86_64 (musl) | shipping |
| Linux aarch64 (musl) | shipping |
| Windows x86_64 | shipping |
| WASM (browser) | shipping |
# Solve a linear system, look at the spectrum, return the determinant.
let A = [[2.0, 1.0], [1.0, 3.0]]
let b = [5.0, 10.0]
let x = A \ b # -> [1, 3]
let spectrum = eig(A) # -> [3.618, 1.382]
det(A) # -> 5
jmax run examples/hello/hello.jm # -> 5.0REPL:
jmax replSee examples/ for linear algebra, signal processing, plotting, science notebooks, and the JMax → flowG projection.
- 2,500+ functions across 82 modules, all in one binary — linear algebra, FFT, optimization, statistics, ML primitives, file IO, plotting — nothing else to install. The reference documents the 113 most-used as top-level built-ins.
.jmfiles run anywhere — same code on CPU, GPU, WGPU via flowG dispatch.- Energy receipts — every workload optionally records picojoule-per-operation via the substrate-energy layer.
- MCP server built in — JMax exposes its computation surface as an MCP server (
jmax mcp) so any LLM agent can route math through it. - Pure Rust — no Python, no C++ shared libraries, no LAPACK or BLAS to install. JMax compiles to a single binary.
JMax is the scientific-computing surface in the openIE-dev family:
- flowG — the substrate JMax compiles to
- Lux — general-purpose sibling
- Joule — energy-budgeted compiled sibling
- JouleDB — the metered database for persistence
The documentation site and the GitHub Pages book mirror each other:
| Website | GitHub Pages | |
|---|---|---|
| Home / language | charlot-lang.dev | openie-dev.github.io/jmax |
| Docs & function reference | docs.charlot-lang.dev | /reference/builtins |
jmax CLI reference |
api.charlot-lang.dev | /reference/cli |
| Browser playground | play.charlot-lang.dev | — |
- Examples →
examples/ - Embedding API → docs.rs/jmax
- Source mirror →
openIE-dev/jmax-core
GitHub Releases — tagged versions with prebuilt binaries for every supported platform, plus SHA-256 checksums.
- Discussions — Q&A, function requests
- Issues — bug reports
- Security: see SECURITY.md
- Binaries — Business Source License 1.1; see LICENSE. Free for non-commercial use, internal use by orgs under $1M revenue, security/academic research. Converts to Apache-2.0 four years after each release.
- Documentation — CC-BY-4.0
- Examples — Apache-2.0