There are two parallel efforts! We are building the system in C++ (that's this project) but also in Rust. Rust? Yes, see here: relision.
This is an experimental project to re-develop the Elision term rewriter in C++. Nothing here is even remotely stable, or usable by anyone other than the developer, and you should beware.
If you want to help, please feel free to fork and Make Things Better, but please also join the project so we can all Work Together for the Greater Good.
Right now this code is Copyright © Stacy Prowell, all rights reserved, and is distributed under the BSD two-clause license (see the LICENSE file).
The original Elision project source was donated to Oak Ridge National Laboratory for use in their Hyperion system, but this code has not been donated and is not for such use.
The code contains Linenoise, "a minimal, zero-config, BSD licensed, readline replacement used in Redis, MongoDB, and Android." Seriously, it's good stuff, and provides the command line interface for the Elision shell. Check it out! See the start of any of the Linenoise source files for its (standard "two clause") BSD license.
Elision is written for C++11, and makes use of the language features. You need a modern compiler, such as GCC 4.8, to compile Elision. Elision also needs the Boost libraries, version 1.55 or higher. To build the documentation you will need Doxygen and, if you want graphics, Graphviz.
Elision is built and maintained on Ubuntu 14.04.
This project builds with CMake. Building is pretty simple. On Ubuntu, do the following.
sudo apt-get install libboost-all-dev cmake doxygen graphviz cmake . ; make check
In general building is a two-step process.
- Build the appropriate generators. Run
cmake -G
followed by a generator name, typically in quotation marks. After this you can just runcmake .
whenever you need to update stuff - because theCMakeLists.txt
file has changed, for example. - Build using your chosen build environment!
Here are some common examples.
- Build on Linux with make
cmake -G "Unix Makefiles" ; make
- Build on Mac with Eclipse and/or make
cmake -G "Eclipse CDT4 - Unix Makefiles" ; make
(plus this creates an Eclipse project you can open and build) - Build on Windows with Visual Studio 9
cmake -G "Visual Studio 9 2008 Win64"
(open the new project in Visual Studio)
You can build documentation with Doxygen using make doc
. You can run the unit tests with make check
, or you (once you have built) you can run ctest
or cmake test
to do things the CMake Way. Note that make check
runs a bash script right now, so your mileage on Windows will vary - but then you knew that, right?
What do I do? On the Mac I do this (since I use Eclipse):
cmake -G"Eclipse CDT4 - Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug -DCMAKE_ECLIPSE_VERSION=4.3