ELENA supports both first class functions and first class messages.
ELENA supports rich set of object-oriented features: abstract classes, interfaces, singletons, class constants, named constructors, variadic methods / constructors and class extensions. Several advanced features are implemented: re-sending and dispatching methods.
A number of of dynamic features is supported : multi-constructors / multi-methods and generic methods. It is possible to provide a custom message dispatcher to implement mix-ins, dynamic records and so on.
It is possible to build code at run-time without runtime-compilation.
It is possible to define your own script grammar and execute it in the run-time.
ELENA is licensed under the MIT license, free for everyone to use. All source code is publicly viewable on GitHub.
ELENA is a general-purpose language with late binding. It is multi-paradigm, combining features of functional and object-oriented programming. It supports both strong and weak types, run-time conversions, boxing and unboxing primitive types, direct usage of external libraries. Rich set of tools are provided to deal with message dispatching : multi-methods, message qualifying, generic message handlers. Multiple-inheritance can be simulated using mixins and type interfaces. Built-in script engine allows to incorporate custom defined scripts into your applications. Both stand-alone applications and Virtual machine clients are supported
To install just unzip all the files into a directory you want.
You may need to add a path to BIN folder to system environment (e.g. <app root>\bin), or use setup executable.
The language requires Visual C++ Redistributable for VS 2017
To open, compile or debug the programs and libraries use ELENA GUI IDE (<app root>\bin\elide.exe) or ELENA Command Line Compiler
(
In ELENA IDE you may select File-Open-Open Project option and open an appropriate project file (*.prj). Then select Project-Compile option to compile the project and Project-Debug to debug it.