Skip to content

Repository files navigation

Rux logo

Rux Programming Language

CI FreeBSD x86-64 FreeBSD AArch64 Linux x86-64 Linux AArch64 macOS x86-64 macOS AArch64 Windows x86-64 Windows AArch64 Release License

Rux is a fast, compiled, strongly typed, multi-paradigm programming language. The compiler is self-contained: its own x86-64 and AArch64 code generators, its own object format, and its own PE/ELF/Mach-O linkers produce a native executable with no assembler, no C compiler, and no external linker anywhere in the pipeline. Rux supports four operating systems: FreeBSD, Linux, macOS and Windows (on x86-64 and AArch64).

Debug builds preserve the unoptimized program structure, while Release builds use explicit, bounded HIR and LIR passes and remove unreachable private declarations before either native back end runs. Shared RCU module construction and a format-neutral link graph keep object and image behavior consistent across all eight targets.

The CI badge shows the status of the dev branch; the platform badges show each target's build-and-test job on it. The CI/CD guide documents the native, cross-compiler, transferred-artifact, and runtime acceptance paths in detail.

Important

Rux is under active, pre-1.0 development. Language features, compiler behavior, and package formats may change between minor releases. Check the changelog when upgrading.

Documentation

Language and tool documentation lives on the website:

Working on the compiler itself is covered by the guides in Docs/, indexed in CONTRIBUTING.md. Installer implementation notes live beside their source, in Packaging/Linux and Packaging/Windows.

The language ownership contract records the value, reference, copy, move, construction, and destruction model used by the compiler and first-party packages, including the narrow compatibility boundary that remains before final cutover. The compiler architecture guide documents component ownership, semantic and lowering boundaries, optimization, code generation, and linking. The package build guide covers target names, artifact paths, cross-compilation, and the 16-cell rux build --all matrix. Contributors changing diagnostics or CLI output should follow the user-facing message contract.

The comment and documentation contract defines ordinary and API comment syntax, attachment, structured tags, formatting, linting, generated sections, and the source-aware model future completion tools consume.

Commands in this repository use POSIX shell syntax unless a PowerShell example is provided; on Windows, replace ./Bin/rux with .\Bin\rux.exe.

Installing a Release

Prebuilt x86-64 and AArch64 releases are published for every supported operating system. Choose your operating system for installation, upgrade, removal, and verification instructions:

  • FreeBSD — install the native archive.
  • Linux — use the x86-64 shell installer or a native archive.
  • macOS — install the native archive.
  • Windows — use an x86-64 installer or a native ZIP.

Building from Source

Use upstream Clang 23.1+, CMake 3.31+, Ninja 1.13.2+, and current stable Git. See the verified tool versions.

Rux is written in C++26 and builds exclusively with upstream Clang 23.1 or newer. Formatting and static analysis use LLVM 23. Choose your operating system for prerequisites, build commands, and verification steps:

Once the prerequisites are installed, one entry point covers local development. sh Run.sh build configures and builds the compiler, and sh Run.sh test runs the complete verification workflow; format, policy, tidy, unit, and clean are the individual steps. On Windows, use .\Run.ps1 build and .\Run.ps1 test. Run the script with no arguments for the full command and option summary.

Contributing

Contributions are welcome. Start with the contributing guide and open pull requests against the dev branch. The development workflow explains the compiler layout, tests, formatting, and static analysis in detail. Documentation is part of the change: update the affected page in the same pull request whenever a process, branch rule, installer, or workflow changes.

Community

Join the project on GitHub Discussions, Discord, Reddit, YouTube, Bluesky, Mastodon, or Telegram. More links are available on the community page.

License

Licensed under the MIT License.

About

Compiler for the Rux programming language

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

498 stars

Watchers

8 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages