Skip to content
Ridgun
English

FAQ

Short answers to the questions people ask first.

Which systems does Ridgun run on?

Linux, macOS and Windows, on x86-64 and ARM64. The compiler writes each system's native executable by itself: ELF64 for Linux (a Raspberry Pi included), Mach-O for macOS and PE32+ for Windows, and builds for any of them from any of them with --target. The Download page has the toolchain for all six, and Install gives the one line for each system.

Is there a garbage collector?

No. The compiler frees a value right after its last use. Structures that are shared are counted, and with region frees a whole arena at once when its block ends. Nothing pauses the program to collect memory.

How does parallelism work?

Lines that start with || form a small graph: each line computes a value with -> name, and lines that don't depend on each other run at the same time. ||map and ||filter split a list over threads. For services that live long, agent wraps a function in an isolated process that you talk to with send … to and receive from.

Why are functions written as tables?

Because a table is easy to read: the signature names the columns, each clause is a row, and the eye finds the case it needs. stable format keeps the columns aligned, so nobody aligns by hand.

Do I need a C compiler?

No. ridgunc writes the machine code and the ELF file itself. It is written in Ridgun and compiles itself.

Where do libraries come from?

The standard libraries (json, http, crypto, regex, time and many more) live in libs, which the installer puts in place. omni, the package manager, adds more from this site and checks each signature: omni install <library> for a project, omni install -g <package> for a package's programs. The Packages page lists them.

Is there a web framework?

Yes: Solstice. This site runs on it, with its blog and forum addons.

Where do I ask a question?

In the forum, under Help. Include the code, the command you ran and the whole error message.