Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Ruby-like hybrid OOP/functional programming language for BEAM, the Erlang VM
Erlang Ruby
branch: legacy

This branch is 657 commits behind master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
artifacts
bin
ebin
examples
lib
src
test
INTERNALS.textile
LICENSE
Makefile
README.textile
Rakefile

README.textile

Reia

Welcome to Reia (pronounced RAY-uh), a Ruby/Python-like scripting language for
the Erlang virtual machine (BEAM).

Compiling Reia

Reia requires Erlang version R12B-3 (5.6.3) or later. The latest version of
Erlang is available here:

http://www.erlang.org/download.html

To compile Reia, type:

make

under the Reia source tree to build Reia.

Installation

If Reia has compiled successfully, type:

make install

to install Reia systemwide. This will install the “reia” and “ire” scripts in
/usr/local/bin. Be sure to add this to your path (or move the scripts
elsewhere) if you’d like to be able to use Reia systemwide.

Usage

Reia provides three ways to execute programs:

  • The Reia interpreter, located in bin/reia (or just “reia” if you’ve installed
    Reia systemwide). This runs Reia programs from the command line.
  • The interactive Reia interpreter, located in bin/ire (or just “ire” if you’ve
    installed Reia systemwide). This provides an interactive environment (a
    read-eval-print loop) for running Reia programs, or just exploring the
    language.
  • The Reia static compiler, located in bin/reiac (not installed systemwide).
    This compiles Reia to .beam files which may be used in conjunction with
    Erlang code. The static Reia compiler is intended for compiling the
    self-hosted parts of Reia and is not intended for general-purpose use.

Implementation

Here’s some thoroughly interesting implementation trivia about Reia:

  • Leex-based scanner
  • Yecc-based grammar
  • Compiler transforms Reia abstract forms to Erlang abstract forms or BEAM
    bytecode
  • Partly self-hosted: Reia’s builtin types are mostly written in Reia

Links

About the Author

Reia was created by Tony Arcieri, a programmer from Boulder, Colorado, USA.
Tony has a background in network services and distributed peer-to-peer systems.
His favorite programming languages are Ruby and Erlang.

Something went wrong with that request. Please try again.