E is a scripting language designed for games and event driven applications. It utilizes a strict type system for performance in both script execution performance as well as the overhead involved in calling functions between the C++ application and the virtual machine. While a generic C like function binding system is available, one of the main features of the E API is the ease in binding classes and functionality to the virtual machine. It utilizes template meta programming to requires very little explicit information to bind classes and functions to it.
It has support for all integer and floating point types including native strings. Conversion is automatic for all types including classes that have cast overloads. There are 12 types in E.
- Classes are user-defined compound objects like C++.
- Functions are user-defined procedures that take and return arguments.
- Events are a type of function that does not return any values and may be called in a series of calls to other implementations of the same event.