The Elijjah Book
Done in the spirit of The Rust Book
Table of Contents
Background
Elijjah is a high-level language suitable for replacement or supplementation of Java and C/C++. It is meant to integrate into current C and Java projects.
It is intended to provide the power of C++, the expressibility of Python, and the utility of Java. The code the reference compiler generates if C/C++ or Java is intended to complement each and every one of those in any combination. It can reliably interact with Java libraries or C/C++ libraries like Swing/JavaFX, SWT, boost, or gtk and Qt.
Install
Elijah is not ready for prime-time yet. But you can test it by running it from the checkout directory or install it to your home directory (actually this is not supported yet).
Other Software Required/Used
- antlr (included)
- javassist (not used yet, but included)
- python (not yet)
- java-compiler (java8, although I use 11)
- JDeferred
- Apache Commons Codec and CLI
- XStream (although it is not being used now)
- Google Guava
Usage
Compile a system using an .ez
file:
eljc test.ez
You will also be able to substitute eljc
with elcc
when I port the compiler to C.
Progress
The current branch is pull-model
.
It is derived from genericA
.
This will feed back into master/main
The repo is currently buildable from maven. You can also import into Eclipse and IDEA and get up and running. The tests need to run run from the root directory, which is done automatically in maven but not IDEA.
Much work is needed.
All of this is a work in progress and your support would be appreciated.
Documentation
The Elijjah Book: mdbook (this one is better)
Documentation on GitLab (look here first)
Contributing
PRs accepted.
License
Elijjah is free software intended for use on all systems, including GNU/Linux.
Contact
oluoluolu+elijah (at) gmail.com @tripleo_sw Twitter