This page documents ideas for improvements to Euphoria beyond the current release in development. 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)
  • 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"}
  • Varadic arguments (variable number of arguments on a call). function xxx( object a ... )
  • Move the map functionality to the back end.
  • Change the if and while statements to accept a boolean expression rather than an atom expression. This would allow code such as if fieldA = "name" then ...
  • A replacement for ifdef which works more like normal EUPHORIA code. And has declare before use. preprocessor_if
  • Nested routines. The ability to declare a routine inside another routine such that the nested routine's scope is its enclosing routine.


Quick Links

User menu

Not signed in.

Misc Menu