Skip to content

openIE-dev/jmax

JMax

A math-native programming language for science, data, and visualization.

Release Quality Docs crates.io License

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.

Status

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.

What you get

Binary Purpose
jmax The JMax CLI: REPL, file runner, formatter, MCP server

Plus a Rust library, jmax, for embedding.

Install

# 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 xz

Platform 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

Hello, JMax

# 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.0

REPL:

jmax repl

See examples/ for linear algebra, signal processing, plotting, science notebooks, and the JMax → flowG projection.

What makes JMax different

  • 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.
  • .jm files 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.

How it fits

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

Documentation

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

Releases

GitHub Releases — tagged versions with prebuilt binaries for every supported platform, plus SHA-256 checksums.

Community

License

  • 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

About

Math-native programming language replacing MATLAB / Julia / R / Mathematica. 2,502 scientific computing functions, flowG-backed dispatch.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages