Red (programming language)
Computer programming language released in 2011 / From Wikipedia, the free encyclopedia
Dear Wikiwand AI, let's keep it short by simply answering these key questions:
Can you list the top facts and stats about Red (programming language)?
Summarize this article for a 10 year old
Red is a programming language designed to overcome the limitations of the programming language Rebol.[3] Red was introduced in 2011 by Nenad Rakočević,[4] and is both an imperative and functional programming language. Its syntax and general usage overlaps that of the interpreted Rebol language.[5]
Paradigm | Multi-paradigm: imperative, functional, symbolic |
---|---|
Designed by | Nenad Rakočević[1] |
Developer | Nenad Rakočević |
First appeared | 2011 |
Stable release | |
OS | Linux, Windows, OS X |
License | modified BSD and Boost |
Filename extensions | .red, .reds |
Website | www |
Influenced by | |
Rebol, Lisp, Scala, Lua |
The implementation choices of Red intend to create a full stack programming language:[4][6] Red can be used for extremely high-level programming (DSLs and GUIs) as well as low-level programming (operating systems and device drivers). Key to the approach is that the language has two parts: Red/System and Red.[7]
- Red/System is similar to C, but packaged into a Rebol lexical structure – for example, one would write
if x > y [print "Hello"]
instead ofif (x > y) {printf("Hello\n");}
. - Red is a homoiconic language, which is capable of meta-programming with Rebol-like semantics.[3][8] Red's runtime library is written in Red/System, and uses a hybrid approach: it compiles what it can deduce statically and uses an embedded interpreter otherwise. The project roadmap includes a just-in-time compiler for cases in between, but this has not yet been implemented.
Red seeks to remain independent of any other toolchain; it does its own code generation.[3] It is therefore possible to cross-compile[6] Red programs from any platform it supports to any other, via a command-line switch. Both Red and Red/System are distributed as open-source software under the modified BSD license. The runtime library is distributed under the more permissive Boost Software License.
As of version 0.6.4 Red includes a garbage collector "the Simple GC".[9]