Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Ruby-like hybrid OOP/functional programming language for BEAM, the Erlang VM
branch: master
Failed to load latest commit information.
benchmarks Update the benchmark runner so it actually works again
bin Use a REIA_HOME environment variable to allow Reia to function outsid…
ebin Downgrade neotoma
examples Get rid of the weird ass "Main" module which made no sense, factoring…
lib Move UUIDs out of the standard library and make them a built-in type
src Use reia:throw when reporting illegal ivar matches
test Disable class tests
.gitignore
LICENSE Update copyright info
README.md Fix Elixir link
Rakefile Blow away the vendored leex

README.md

Reia

FYI: Reia is defunct. No additional work on it is planned. If you are interested in the ideas behind Reia, I strongly suggest you check out the Elixir language, which is now in a more mature stage of development than Reia:

https://github.com/elixir-lang/elixir

About

Welcome to Reia (pronounced RAY-uh), a Ruby-like scripting language for the Erlang virtual machine (BEAM).

Want to know more about Reia? Syntax examples and that sort of thing? Please visit the home page at:

http://reia-lang.org

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

You'll also need Ruby and Rake installed. To compile Reia, type:

rake

After compilation is complete, you'll see the test suite run and if everything went well it should hopefully pass.

Implementation

Here's some thoroughly interesting implementation trivia about Reia:

  • Leex-based scanner
  • Yecc-based grammar (a Neotoma-based branch is also available)
  • Successive parse transforms convert Reia parse trees into the Erlang abstract format, then into BEAM/HiPE bytecode

Links

About the Author

Reia was created by Tony Arcieri, a programmer from Denver, 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.