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
  • Gradual and multi-typing
  • 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 included
  • Cross-platform native GUI system, with a UI DSL and drawing DSL
  • Bridging to the JVM
  • High-level scripting and REPL console included
  • Visual Studio Code plugin, with many helpful features
  • Highly embeddable
  • Low memory footprint, garbage collected
  • Single-file (~1MB) contains whole toolchain, full standard library and REPL.
  • No install, no setup
  • Fun guaranteed!

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’s smaller than 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). The most 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.

If you are experiencing issues seeing the slides in flash format, here's a PDF version.

If you are experiencing issues seeing the slides in flash format, here's a PDF version.

If you are experiencing issues seeing the slides in flash format, here's a PDF version.

Fork me on GitHub