CARVIEW |
Every repository with this icon (

Every repository with this icon (

Description: | Reia is a Ruby/Python-like language for BEAM, the Erlang VM |
Homepage: | https://reia-lang.org |
Clone URL: |
git://github.com/tarcieri/reia.git
Give this clone URL to anyone.
git clone git://github.com/tarcieri/reia.git
|

name | age | message | |
---|---|---|---|
![]() |
LICENSE | Sat Jul 26 13:42:05 -0700 2008 | Add license information [Tony Arcieri] |
![]() |
README.textile | Thu Feb 19 19:46:31 -0800 2009 | Implement toplevel exception handler in test ha... [Tony Arcieri] |
![]() |
Rakefile | Wed Feb 11 14:04:20 -0800 2009 | install task fixed [pirj] |
![]() |
artifacts/ | Sat Sep 06 00:53:29 -0700 2008 | New build system [Tony Arcieri] |
![]() |
bin/ | Fri Jan 23 21:46:54 -0800 2009 | System module and script thunks for argument pr... [Tony Arcieri] |
![]() |
ebin/ | Thu Sep 25 19:53:35 -0700 2008 | Minor build system cleanups (disabling smart ex... [Tony Arcieri] |
![]() |
examples/ | Sat Feb 07 20:32:50 -0800 2009 | Add Ring example [Tony Arcieri] |
![]() |
lib/ | Tue Jan 27 23:29:11 -0800 2009 | Correct bogus comment [Tony Arcieri] |
![]() |
src/ | Thu Feb 19 20:30:33 -0800 2009 | Modify Exception to return the entire stack tra... [Tony Arcieri] |
![]() |
test/ | Thu Feb 19 20:58:54 -0800 2009 | Remove split test for the time being as it requ... [Tony Arcieri] |
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:
https://www.erlang.org/download.html
You’ll also need to install rake. Instructions are available at:
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 (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
Links
- Home Page: https://reia-lang.org
- Reia Wiki: https://wiki.reia-lang.org/
- Mailing List: https://groups.google.com/group/reia
- Author’s Blog: https://unlimitednovelty.com/
- Author’s Twitter: https://twitter.com/bascule
- IRC: irc.freenode.net #reia
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.