Documentation · Issues · Website · View packages
Rasmalai is pre-1.0. While the major version is 0, expect breaking
changes in any release with no deprecation period and no backward
compatibility: CLI flags, manifest keys, registry API paths, file
layouts, and language semantics can all change. Pin your toolchain
(rnx --version, lockfiles, pinned container images) and read release
notes before upgrading. Do not build production systems on 0.x without
accepting that upgrades may require code and workflow changes. The
public registry is a development environment: its stored packages may
be wiped and republished from scratch at any time with no migration.
Rasmalai is a high-performance compiled programming language. It pairs TypeScript-like developer ergonomics with native C-ABI interop, a multi-pass LIR optimizer, a Cranelift JIT for fast dev cycles, and an LLVM AOT backend for release builds. One toolchain covers scripting, native binaries, and a browser playground.
Mainstream systems languages force a choice: ergonomics or control. Rasmalai refuses it — memory safety through ARC with explicit cyclic edges instead of a garbage collector, Python-grade readability with native execution speed, and a standard library that treats files, sockets, threads, and SIMD as first-class citizens rather than FFI afterthoughts.
Linux and macOS (installs into ~/.local/bin by default, honors
$XDG_BIN_HOME when set):
curl -fsSL https://rasmalai.rovelstars.com/install.sh | shWindows (PowerShell, installs into %LOCALAPPDATA%\rnx by default):
irm https://rasmalai.rovelstars.com/install.ps1 | iexPin a version, or install elsewhere:
curl -fsSL https://rasmalai.rovelstars.com/install.sh | sh -s -- v0.1.0
curl -fsSL https://rasmalai.rovelstars.com/install.sh | sh -s -- --prefix /usr/local& ([scriptblock]::Create((iwr https://rasmalai.rovelstars.com/install.ps1).Content)) -Version v0.1.0Build from source (needs Rust stable and LLVM 22):
cargo build --releaseThe binary lands at ./target/release/rnx.
The installer also seeds the standard library into the global cache
(~/.cache/rnx, or $RNX_CACHE_HOME when set) by running
rnx download for you: the rnx binary carries no library sources, so
every @std/* import resolves from that cache. An offline install warns
instead of failing — run rnx download once online, or
rnx doctor --repair-std to check and repair the cache at any time.
Upgrade by re-running the same command you installed with — running it again with no version argument always moves you to the latest release:
curl -fsSL https://rasmalai.rovelstars.com/install.sh | shirm https://rasmalai.rovelstars.com/install.ps1 | iexRun a script (JIT, dev mode):
rnx run path/to/main.rnxCompile a native binary ahead of time (LLVM, release mode):
rnx build path/to/main.rnxProgram arguments go after --:
rnx run path/to/main.rnx -- arg1 arg2Run the test suite:
cargo test --workspaceTry it without installing anything: the playground runs the language in your browser.
- Accounts and package management server integration, so the registry can serve publish, yank, ownership, and access-control requests instead of org-token-only seeding.
- Native cross-platform UI, so Rasmalai programs can ship graphical interfaces on every supported OS from one codebase.
Issues and pull requests are welcome at
rovelstars/rasmalai.
Open an issue describing the problem or proposal first for anything
beyond a trivial fix, then send a PR against main. Every compiler
change needs tests; every user-facing change needs docs.
compiler/— the language itself: lexer, parser, semantic analysis, LIR lowering and optimization, interpreter, Cranelift JIT, LLVM AOT, native C-ABI runtime, and thernxCLI.examples/— reserved for language samples (currently empty).tools/rnx-bindgen/— C-header binding generator written in pure.rnx. Turns system headers (zlib, sqlite3) into Rasmalai modules.benches/— performance and scaling benchmarks.editors/— Helix, Neovim, VSCode, and Zed extensions.website/— SvelteKit documentation and interactive playground.
Dual-licensed, at your option: MIT OR Apache-2.0. See LICENSE.
