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
Tony Arcieri (author)
Sat Jun 28 15:45:31 -0700 2008
commit  5c8b91f7d608add0422d39cc1333874a062b75c7
tree    9efe4715737cd273ce83ff21592dc2e2f9bcbd76
parent  fcb1d1bfa09bffc510a7229fe9a9275d043e8a16
reia / README
100644 71 lines (46 sloc) 2.437 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
= 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-2 (5.6.2). 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
 
Compiling Reia yourself is typically unnecessary since it already comes
compiled. However, if you are interested in helping to develop Reia, you
should be aware of the following caveats.
 
Reia is partly self-hosted. This means that if you wish to compile Reia, you
must have a working copy of Reia available. Reia ships with known-working
.beam files of all the Reia core modules under the ebin/ directory. These
must be available in order for the compiler to work.
 
To compile Reia, you will need 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
* Mostly self-hosted: ~3/4 of Reia modules 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/