Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Reia is a Ruby/Python-like language for BEAM, the Erlang VM
branch: master

This branch is 766 commits behind tarcieri: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
LICENSE
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

To compile Reia, you will need a working installation of Erlang (at least
R12B-3) as well as the “rake” tool.

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

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

You’ll also need to install rake. Instructions are available at:

http://rake.rubyforge.org/

Once you’ve installed rake, type:

rake

under the Reia source tree to build Reia.

Installation

If Reia has compiled successfully, type:

rake 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.