public
Description: Reia is a Ruby/Python-like language for BEAM, the Erlang VM
Homepage: http://reia-lang.org
Clone URL: git://github.com/tarcieri/reia.git
reia /
name age message
file INTERNALS.textile Sun May 10 00:16:09 -0700 2009 <3 you Textile [Tony Arcieri]
file LICENSE Sat Jul 26 13:42:05 -0700 2008 Add license information [Tony Arcieri]
file Makefile Sun Apr 05 15:31:22 -0700 2009 Add clean task and correct distclean task [Tony Arcieri]
file README.textile Sun May 10 00:11:04 -0700 2009 Doc fixups [Tony Arcieri]
file Rakefile Wed Mar 25 23:14:09 -0700 2009 Have the 'reia' script thunk through the reia m... [Tony Arcieri]
directory artifacts/ Sat Sep 06 00:53:29 -0700 2008 New build system [Tony Arcieri]
directory bin/ Tue Mar 31 14:36:01 -0700 2009 very dirty makefile [pirj]
directory ebin/ Thu Sep 25 19:53:35 -0700 2008 Minor build system cleanups (disabling smart ex... [Tony Arcieri]
directory examples/ Sat Apr 25 17:45:31 -0700 2009 Update ring example to use a block when creatin... [Tony Arcieri]
directory lib/ Sat May 09 16:26:26 -0700 2009 Implement File.exists? [Tony Arcieri]
directory src/ Tue Jun 23 22:59:18 -0700 2009 Merge branch 'rec' [Tony Arcieri]
directory test/ Mon May 25 14:42:49 -0700 2009 Failing test case for exponent calculation [Tony Arcieri]
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.