/Rave

Compiled and statically typed programming language

Primary LanguageC++Mozilla Public License 2.0MPL-2.0

Rave Language

Rave is a statically typed, compiled, procedural, general-purpose programming language.

"Hello, world!" Example

import <std/io>

void main {
    std::println("Hello, world!");
}

Advantages

  • Fast compilation
  • Cross-platform features (for example, working with threads)
  • Support for many platforms as target
  • Using LLVM for great optimizations

Dependencies

  • llvm-16 You can also use LLVM from 11 to 15.
  • clang or gcc
  • Make
  • MinGW (if you need cross-compilation or you are using Windows)

Building/Running

To install dependencies, you can try running install.sh (Arch Linux/Ubuntu/Debian) or install.bat (only Windows 64-bit using choco)

If the installer does not work well on your system, you can try to install all the dependencies yourself.

After install write make in the Rave directory.

You can compile, for example, "Hello world!" example using ./rave examples/hello_world.rave -o hello_world in directory with Rave.

Cross-compilation programs from Linux for Windows

You just need to set the compiler "i686-w64-mingw32-gcc-win32" in options.json, and add "-t i686-win32" to your build command.

Building in Termux

  1. Install llvm-16 from Termux User Repository:
$ pkg i llvm-16
  1. Apply termux-specific patch for LLVM:
$ ./llvm-patch.sh
  1. Build using make.

Specifications

The specifications is in specifications directory.

Bindings

Discord

Web-site