Discussion Paper : OpenEU

Last Updated: Friday, 25 April 2003 05:02:23 PM

Aims

OpenEU is an attempt at providing an open-source interpreter for the Euphoria programming language. The main driver for starting this project has been the reluctance of the main provider of an interpreter, Rapid Deployment Software (RDS), to enhance the capabilities of the language and their interpreter.

We wish to make a clear distinction between the language definition and the implementation of any interpreters or compilers for it. Currently the language has been sole defined by RDS. Over many years, many people have requested changes to the language. RDS have been slow to implement anything. So out of frustration, a small group of dedicated Euphoria coders, have banded together to break the language out of its stasis.

The Euphoria community is very strong and active, and has contributed many thousands of lines of Euphoria code for anybody to use. It may be considered unwise to reject some or most of this library of code, by moving Euphoria too far away from its current definition.

There has been a few other attempts at creating an alternative to the RDS implementation, but they have been mainly experimental or based on early versions of Euphoria. This project will take one of those earlier efforts, called PEU (Pete's Euphoria), as a basis for a prototype. We will use this edition as a training tool and place for experimenting with alternate implementations. The OpenEU project will however deliver another product as the Euphoria interpreter. This will be built from scratch, using the knowledge gained from working with PEU, and as a working title, this product is called "ESP". Of course, both PEU and ESP will be open source and thus available for others to use as they see fit.

When compared to the Official RDS supplied Euphoria v2.3 interpreter, ESP will be...

  1. 100% Compatibility with the Euphoria syntax
  2. 100% Compatibility with the non-platform specific routines.
  3. 100% Compatibility with the Windows specific routines.
  4. 100% Compatibility with the Unix specific routines.
  5. MS-DOS specific routines will not be supported.