Rawr Programming Language

Rawr is a general-purpose programming language currently in development. It aims to be a simple procedural language like C but with more modern features such as slice, module, tagged union and option type.

It is designed with the following goals:

  • Joy of programming: helpful error messages, fast iteration speed, painless to build and share code.
  • Simplicity: small and focused language you can learn in a day, easy to make tools for.
  • Performance: compiled language with manual memory management and great support for allocators.
Rawr is still a work in progress so expect bugs and breaking changes.

The Raw compiler is written from scratch in simple C++ and doesn't use any external dependencies. It has its own backend, assembler, linker and directly outputs finished executables. Not having to rely on huge libraries like LLVM keeps the codebase approachable and easy to build.

Rawr runs on Windows, macOS and GNU/Linux but currently only have a Windows x64 backend. I am still implementing new features in the language and there are a lot more ideas I want to experiment with. You can read about some of them in the todo page.

While the language is still early and unfinished, Rawr can already be used to create sophisticated applications like a video game or a drawing software.

Example

factorial fn(nb: i32) -> i32 {
    if nb == 1 {
        return 1
    } else {
        return nb * factorial(nb - 1)
    }
}

Get started

TOUR
A brief overview of the language
DOWNLOAD
Install Rawr