Difference between revisions of "ECMA"

From Liberty Eiffel Wiki
Jump to navigation Jump to search
(→‎These features are planned:: added syntax changes)
Line 14: Line 14:
 
* [https://github.com/LibertyEiffel/Liberty/issues/78 attribute setters]
 
* [https://github.com/LibertyEiffel/Liberty/issues/78 attribute setters]
 
* [https://github.com/LibertyEiffel/Liberty/issues/83 void-safety] (Liberty implementation will probably differ from ECMA)
 
* [https://github.com/LibertyEiffel/Liberty/issues/83 void-safety] (Liberty implementation will probably differ from ECMA)
  +
* [https://github.com/LibertyEiffel/Liberty/issues/90 small syntax changes] - the old syntax will be kept for compatibility for quite some time.
   
 
==These ECMA features are not planned in Liberty:==
 
==These ECMA features are not planned in Liberty:==

Revision as of 19:59, 12 April 2013

In ECMA-367 the ECMA committee TC39-TG4 defines an Eiffel standard. Liberty is not committed to fully implement this standard, but there will be much more of the improvements as in SmartEiffel. Liberty will implement those parts of ECMA that match the effective, efficient and simple design of previous versions of Eiffel. The parts requiring an extensive run-time model will not be currently implemented; those that needlessly complicates the language to comply to widespread programming conventions will be evaluated case-by-case

These ECMA features are already implemented:

  • Non-conforming inheritance (although the notation is different)

These ECMA features are already implemented with small deviations:

  • Non-conforming inheritance (insert instead of inherit {NONE}) see Typing policy

These features are planned:

These ECMA features are not planned in Liberty:

  • No-variant agent arguments.

These features are not in ECMA but implemented in Liberty:

  • inline agents are closures (planned)

Not yet decided:

  • Feature aliases
  • Bracket indexing

See also Compatibility.