Red Logo     Red Programming Language

  • GitHub
  • Blog

Introduction

Red is a new programming language, strongly inspired by REBOL, but with a broader field of usage thanks to its native-code compiler, from system programming to high-level scripting, while providing modern support for concurrency and multi-core CPUs.

Red tackles the software building complexity using a DSL-oriented approach (we call them dialects) . The following dialects are built-in:

  • Red/System: a C-level system programming language compiled to native code
  • Parse: a powerful PEG parser
  • VID: a simple GUI layout creation dialect
  • Draw: a vector 2D drawing dialect
  • Rich-text: a rich-text description dialect

Red has its own complete cross-platform toolchain, featuring an encapper, a native compiler, an interpreter, and a linker, not depending on any third-party library, except for a Rebol2 interpreter, required during the alpha stage. Once 1.0 is reached, Red will be self-hosted. Currently, Red is still at alpha stage and 32-bit only.

More information at red-lang.org.

Download

Note for Linux User

For Linux 64-bit distros, you need to install 32-bit supporting libraries.

If you are using a Debian 7+ or Ubuntu 13.10+ version, you should use libcurl3 with multiarch:

    dpkg --add-architecture i386
    apt-get update
    apt-get install libc6:i386 libcurl3:i386

If you are using an Ubuntu 18.04+ version, you should use libcurl4 with multiarch:

    dpkg --add-architecture i386
    apt-get update
    apt-get install libc6:i386 libcurl4:i386

For Fedora/Redhat/Centos distros:

    sudo yum install glibc.i686
    sudo yum install libcurl.i686

For FreeBSD, no prebuilt binaries yet, you need to cross-compile, or get the Red sources, a Rebol interpreter (here) and a couple packages: libcrypto.so.8, which can be found in the openssl package, and libcurl.so.4 (temporary dependency):

    pkg install openssl
    pkg install fpc-libcurl-3.0.2

For ArchLinux (Manjaro included), there is a Red package here. Or you can run above Linux binary after installing 32-bit support with:

    pacman -S lib32-curl

Contributing

If you want to contribute code to the Red project be sure to read the guidelines first.

It is usually a good idea to inform the Red team about what changes you are going to make in order to ensure that someone is not already working on the same thing. You can reach us through our chat room.

Satisfied with the results of your change and want to issue a pull request on Github? Make sure the changes pass all the existing tests, add relevant tests to the test-suite, and please test on as many platforms as you can. You can run all the tests using (from Rebol console, at repository root):

>> do %run-all-tests.r

License

Both Red and Red/System are published under BSD license, runtime is under BSL license. BSL is a bit more permissive license than BSD, more suitable for the runtime parts.