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)
  • 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.

Search



Quick Links

User menu

Not signed in.

Misc Menu