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.

Read more

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).

See this document

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

wiki

GitBook: The Elijjah Book

The Elijjah Book: mdbook (this one is better)

GitBook: Elijjah by Example

Documentation on GitLab (look here first)

Contributing

See the contributing file!

PRs accepted.

License

Elijjah is free software intended for use on all systems, including GNU/Linux.

LGPL 3

Contact

oluoluolu+elijah (at) gmail.com @tripleo_sw Twitter

google group