About

Red is a deep, powerful language, inspired by Rebol.
Its mission, to fight software complexity.

Red Can Do It All

It’s a metal to meta, open-source toolchain created by Nenad Rakocevic, directly inspired by Rebol (designed by Carl Sassenrath of Amiga OS fame), and actively developed as an open-source project since 2011.

Bootstrapped in Rebol, to prove that the language was capable of self-hosting, high level Red code compiles to low level Red/System code, which compiles directly to machine code. No C compiler or assembler is needed.

Lean. Nimble. Flexible.

The entire toolchain, including a full cross compiler and reactive GUI system, is in a single EXE just over 1MB in size. Drop it in a folder and go. Compile to any platform, from any platform. Red depends only on your OS; the same goes for what you build.

Make standalone EXEs, or compile the runtime to be used externally and called into from other languages. Need C speed? Write your app in Red/System (EXEs as small as 7K), or inline Red/System code just for performance critical sections.

Red Knows You’re Human

As one example, you write dates like this: 31-Jan-2018/16:00+8:00, which is 1517385600 for those of you wearing an epoch seconds watch. What? Nobody? That’s what we thought. As programmers, we are so used to the pain most languages inflict on us, that we can’t even see there could be a better way.

We spend a lot of time on design, taking a long view. Human time is more valuable than machine time. You win because Red can be more efficient while also providing a better user experience.

Single File

One EXE. Drop it on your system and go.

No Dependencies

Red only uses what your OS provides.

Native GUI System

Built right in; Red syntax in an eDSL.

VSCode Plugin

Supports help and autocomplete.

High-level Scripting

Think Python, Ruby, or Javascript abstraction level.

Modern Syntax

Legacy syntax models don't support things we use all the time.

Built-in Datatypes

Around 50 of them. Many have direct lexical forms.

Homoiconic

Code is data. Red's ancestor, Rebol, was designed as a messaging language. Red is great even if used only as a data interchange format.

Garbage Collected

You shouldn't have to manage memory.

Symbolic

Words and context are central elements.

Object Support

Prototype based objects, like Javascript and Self.

Reactivity

Declarative dataflow model; works on objects and GUI elements.

Dynamic and Strongly Typed

Values are strongly typed, variables are not.

PEG Parser DSL

Works at both the string and Red value level. e.g., you can parse by datatype.

Macro System

Fully hygienic; compile time or runtime.

Bridging to the JVM

Android coming soon (experimental now)

Native Code

Compile to machine code; no C or ASM needed.

Highly Embeddable

Call into the Red runtime from C or other langs.

Cross-compilation

Compile to any platform, from any platform.

Low-level Programming

Red/System is a C-level dialect of Red; built-in.

Concurrency

Informed by many models. One size does not fit all.

Higher Order Functions

Rethought from the ground up, for the modern world.

Command Line Support Made Easy

A CLI lib like no other.

Modules and Packages

Coming soon!

How do I install Red?

It’s easy! Go to https://beta.red-lang.org/download/ and follow the instructions. Happiness awaits.

How is Red supported?

Red has a great community, with most of our chat taking place at https://gitter.im/red/red. But you can find all the Red rooms via https://gitter.im/red/home.

Where is Red going?

To Infinity and a NaN! Seriously, there are no limits in either direction. Whether you use it for writing desktop applications, sys-admin and data analysis tools, microservices, or simply as a data interchange format, Red is your faithful companion, your superhero sidekick. The question isn’t where Red is going, but where you’re going to take it.

Red isn’t for everyone

Sure, it’s easy to use, a no-brainer to install, and has superpowers, but it’s not for everyone. It’s for rebels or, as we call ourselves, Reducers. Those who think there must be a better way to create software; the few who see that we’re encumbered by a legacy of limitations from a time gone by, yet we’ve forgotten important lessons of the past; you, who are not doomed to repeat it.
Learn More

Are you one of us?

Do you feel that there’s something wrong with the world? You don’t know what it is, but it’s there, like a splinter in your mind…OK, you do know what it is; it’s complexity. If you agree, take the Red pill. Join us, and fight software complexity.
Start Reducing
Download the Latest Stable Version of Red Download Red v0.6.4 →