The Wayback Machine - https://web.archive.org/web/20161129040950/http://red.github.io:80/

The world's first full-stack programming language

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.

Main characteristics are:

  • Functional, imperative and symbolic
  • Prototype-based object support
  • Homoiconic (Red is its own meta-language)
  • Optionally typed, rich set of datatypes (50+)
  • Both statically and JIT-compiled to native code
  • Concurrency and parallelism strong support (actors, parallel collections)
  • Low-level system programming abilities through the built-in Red/System DSL
  • High-level scripting and REPL console support
  • Highly embeddable
  • Low memory footprint, garbage collected
  • Low disk footprint (< 1MB)

Making a Red "Hello World"

The Red toolchain comes as a single half-megabyte executable file that you can download from here for the big-3 platforms.

  1. Put the downloaded red binary in a folder that's in the PATH, or just in the working folder.

  2. In a code or text editor, write the following Hello World program:

    Red [
        Title: "Simple hello world script"
    ]
    
    print "Hello World!"
  3. Save it under the name: hello.red

  4. From a terminal (works from DOS too), run it with:

    $ red hello.red
  5. You should see the Hello World! output.

  6. Want to generate a compiled executable from that program?

    $ red -c hello.red
    $ ./hello
  7. Want to cross-compile to another supported platform?

    $ red -t Windows hello.red
    $ red -t Darwin hello.red
    $ red -t Linux-ARM hello.red

Download

Last stable

↓ Windows   ↓ GNU/Linux   ↓ Mac OS X

Automated builds, master branch

↓ Windows   ↓ GNU/Linux   ↓ Mac OS X

Note for Linux

For Linux 64-bit distros, you need to install 32-bit supporting libraries. So, for Debian-based distros, install them using:

$ sudo apt-get install ia32-libs libc6-i386 libcurl3-i386

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

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

Contributing

There is a lot to do on a project like this, so all people willing to help are welcome. The project is still in its early stage of development, so do not expect a stable context, we are moving forward as fast as possible.

We've just begun using the "Trello" organizational tool to make a board of cards that are Ideas for Red Contributors. So go look at that, as it will likely come to be updated more frequently than this page!

But speaking generally, if you want to contribute at the source code level:

  • We are at the bootstrapping phase, the whole compilation tool-chain is written in Rebol v2, so knowing this language is mandatory to make contribution to the compiler or linker. The good thing is: as Red will be very close to Rebol's syntax, your newly acquired knowledge will not be lost...and will help you be operational on Red at soon as it will be available.
  • The low-level Red/System DSL is at beta stage, but we still need:
    • testing: writing small apps, reporting issues, writing more unit tests,...
    • bindings to useful low-level libraries
    • larger applications (to help improve Red/System's programming-in-the-large abilities)
  • Install Git, learn how to use it (we can help for that), and open a Github account, then fork the Red project repository. When you are ready to propose some new source code or patches, send a pull request.

But working on the codebase itself isn't the only help we need. Notice that this website is not very fancy? We're in the midst of migrating the content out of blogger and doing a custom rebuild, here's a test deployment of the scrape. It's just a start...are you a HTML+CSS master, can you help us make it better? Our hope is to shift the whole thing to be maintained in GitHub, the way ruby-lang does it.

If you want to join the party, contact us through one of the preferred ways listed above, or drop an email to: contrib (at) red-lang.org

Morty Proxy This is a proxified and sanitized view of the page, visit original site.