Eidola reference implementation Home

   About the reference implementation
This is an Eidola kernel implemented in Java. It presents a (hopefully) reasonable standard for structuring a kernel, which may one day guide other implementations. It will form the foundation for the first work on Eidola notations. And, in the meantime, it gives us something concrete (albeit low-level) to poke at.

Note that the reference implementation is not a complete programming language, because:

  • It includes only the kernel, not any notations. In a representation-independent language like Eidola, the internal form in which the computer works with a program (the kernel) is separate from the forms which humans see (notations). There are currently no Eidola notations, so you can't really edit Eidola programs. There is just a really dumb command-line interface designed for testing the kernel API.

  • Eidola itself is not yet a complete programming language. The only solid parts of Eidola are high-level program structure and typing. The algorithmic semantics don't exist yet. In other words, you can't make programs that actually do anything.

   Available versions
There are three versions of the reference implementation available to you:
  • The latest stable release (version 0.0.0). This is a stable, working version of the kernel. It is available as a package including the semantics, kernel, source, and javadoc, which you can download it from Sourceforge. This is most probably the version you want to fool around with.

    Latest stable release:
    Version 0.0.0 (tar.gz)

  • The latest stable development version. This is a bit more up-to-the-minute, and may include new features...but it's not guaranteed to work properly (though I try to make sure that it at least builds before I post a new version). You can browse this version online if you're curious about the structure of the code, and don't want to download a whole release.

    Stable development version:
    Source: (online) (tar.gz)
    Javadoc: (online) (tar.gz)
    Binary: (jar)

  • The CVS archive contains the most painfully bleeding-edge version. It's not even guaranteed to build. You can browse the archive through a web interface, or follow Sourceforge's instructions for anonymous CVS access.

   Requirements
The reference implementation requires Java 1.2 or newer. You can download a version for Linux, Solaris or Windows free from the Java home page. If you have Mac OS X, Java 1.3 is already installed for you. Support for Java 1.2 on other platforms is mixed; see Sun's site for a full list of ports. If you can find a suitable version of Java, you are (at least in theory) all set; this implementation doesn't need anything else.

  Home Copyright 2000-2001 Paul Cantrell