Historical RoadmapBeyond, Revision 11
Roadmap for Euphoria beyond 4.0
This page documents ideas for improvements to euphoria after 4.0. It's currently speculative, and nothing is final. This is a place to catalog interesting ideas for future development.
- Object oriented programming or some other type of structured data access for native euphoria data
- Dynamic code evaluation, including using an embedded interpreter
- Integration of compiled libraries with interpreted code
- Compile a euphoria include as a dll.
- Translator adds a function that returns data about the public / exported routines, which the interpreter adds to the symbol table as special euphoria routines
- User can call compiled routines like normal euphoria routines, and the interpreter handles the call transparently
- Possibly use ifdefs to determine whether regular interpreted or compiled library to be used (if available)
- Add a lib/ dir in the euphoria directory structure as a place for the compiled libs to live, or possibly specify other locations through config file
- var_id capabilities similar to current routine_id, but allowing manipulation of euphoria variables by reference
- Co-routines / Generators / Iterators
- Exception handling
- Structure library (i.e., C structures)
- SquareBracketDereferencing (some ideas on how to implement C structures)
- Tail recursion
- Nested routines
- Implied routine_id or functions as first class objects
- Named parameters: function abc(sequence name="John", integer age=30) ... abc(age=18)
- Sequence slicing on function returns: def = abc()[1..3]
- Multiple assignment on return: {a,b,c} = xyz() -- xyz returns {"",0,"toe"}
- Enums
- Named enums, as a type.
- Floating point values
- Definable delta eg.. enum by *2 a,b,c,d sets values to 1,2,4,8
- enum properties such as low, high, id.
- diff to current revision, view current revision history, backlinks
- Last modified Oct 08, 2010 by DerekParnell