= Reia
Welcome to Reia (pronounced RAY-uh), a Ruby/Python-like scripting language for
the Erlang virtual machine (BEAM).
== Installation
Reia cannot presently be installed in the traditional sense. Instead,
programs must presently be executed from the toplevel directory of the Reia
distribution.
Reia also depends on a working Erlang installation, and requires a minimum
Erlang version of R12B-3 (5.6.3). The latest version of Erlang is available here:
http://www.erlang.org/download.html
== Usage
Reia provides three ways to execute programs:
* The Reia interpreter, located in bin/reia. This runs Reia programs from the
command line without needing to compile them first.
* The interactive Reia interpreter, located in bin/ire. This provides an
interactive environment (a read-eval-print loop) for running Reia programs,
or just exploring the language.
* The Reia compiler, located in bin/reiac. This compiles Reia to .beam files
which may be used in conjunction with Erlang code. The main use of the Reia
compiler is for compiling the self-hosted parts of Reia itself. Programs
compiled with it are more limited than ones run with the standard Reia
interpreter.
== Compiling Reia
To compile Reia, you will need a working installation of Erlang (at least
R12B-3) as well as the "rake" tool. Instructions for installing Rake are
available at:
http://rake.rubyforge.org/
Once you've installed rake, type:
rake
under the Reia source tree to build Reia.
== Implementation
Here's some thoroughly interesting implementation trivia about Reia:
* Leex-based scanner (with second pass for indentation sensitivity)
* Yecc-based grammar
* Compiler transforms Reia abstract forms to Erlang abstract forms or BEAM
bytecode
* Partly self-hosted: most core Reia types are written in Reia
== Programming Reia
Reia is under active development and therefore changing constantly. For the
most up-to-date information on how to program in Reia, consult the Wiki:
http://wiki.reia-lang.org/