About

Red is a next-gen programming language, strongly inspired by REBOL. Main features are:

  • Human-friendly syntax
  • Homoiconic (Red is its own meta-language and own data-format)
  • Functional, imperative, reactive and symbolic programming
  • Prototype-based object support
  • Multi-typing
  • Powerful pattern-matching Macros system
  • Rich set of built-in datatypes (50+)
  • Both statically and JIT-compiled(*) to native code
  • Cross-compilation done right
  • Produces executables of less than 1MB, with no dependencies
  • Concurrency and parallelism strong support (actors, parallel collections)(*)
  • Low-level system programming abilities through the built-in Red/System DSL
  • Powerful PEG parser DSL built-in
  • Fast, compacting Garbage Collector
  • Cross-platform native GUI system, with a UI layout DSL and drawing DSL
  • Bridging to the JVM
  • High-level scripting and REPL GUI and CLI consoles included
  • Visual Studio Code plugin, with many helpful features
  • Highly embeddable
  • Low memory footprint
  • Single-file (~1MB) contains whole toolchain, full standard library and REPL (**)
  • No install, no setup
  • Fun guaranteed!

(*) Not implemented yet.
(**) Temporarily split in two binaries


Red’s ambitious goal is to build the world’s first full-stack language, a language you can use from system programming tasks, up to high-level scripting through DSL. You've probably heard of the term "Full-Stack Developer". But what is a full-stack Language, exactly?

Other languages talk about having "one tool to rule them all". Red has that mindset too, pushed to the limit - it's a single executable that takes in your source files on any platform, and produces a packaged binary for any platform, from any other. The tool doesn’t depend on anything besides what came with your OS...shipping as a single executable that about a megabyte.

But that technical feat alone isn't enough to define Red's notion of a "Full-Stack Language". It's about the ability to bend and redefine the system to meet any need, while still working with literate code, and getting top-flight performance.  So what's being put in your hands is more like a "language construction set" than simply "a language". Whether you’re writing a device driver, a platform-native GUI application, or a shared library... Red lets you use a common syntax to code at the right level of abstraction for the task.



It was announced and presented for the first time at ReBorCon 2011 conference (March, 2011). A more recent presentation video was given at the Recode conference in Montreal (July, 2013):


But if you are unable to visit YouTube, here are some slide decks explaining the reasons for building it, showing the main features and the roadmap.

Recode 2013 presentation slides: PDF version.

And for historical purposes, here are some older presentations:


Fork me on GitHub