Difference between revisions of "Environment Roadmap"

(Compiler)
(Refine what we mean by functional progamming)
 
(59 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 
[[Category:EiffelStudio]]
 
[[Category:EiffelStudio]]
 +
A [[Language_road_map|separate page]] gives the detailed roadmap for implementation of the '''full ISO/ECMA Eiffel standard'''.
 +
 
Roadmap information for EiffelStudio releases:
 
Roadmap information for EiffelStudio releases:
  
==6.2==
+
==EiffelStudio long term goals==
* Attached mechanism
+
===UI===
 +
* Customizable menus and toolbars
 +
* Revisit the project settings window
 +
* Progress bar for degree 6, for C compilation and for automatic precompilation
 +
* Better wizards
 +
* Keyboard support for code browsing/activation - Esc to go to context reference in editor, F9 to set a breakpoint, etc.
 +
* More refactoring
 +
* Smart compiling (The goal is to not have to press the compile button ever).
  
==6.1==
+
===Compiler===
* Non-conforming inheritance
+
* Ability to download libraries/applications from a website directly from EiffelStudio (see [[Configuration_Discovery|Discovering Configuration Files]])
* Proper semantics of feature replication
+
* Add new inheritance clause semantics (rename at the end rather than at the beginning).
* Configurable commands (i.e. location and shortcut)
+
* Experimental new catcall mechanism
* Exception as object
+
* Catcall checker
 +
 
 +
===Debugger===
 +
*Allow editing of variables in debugger
 +
*Expand execution replay mechanism; add possibility of changing values then replaying
 +
*Make sure debugger supports new (ISO/ECMA) mechanisms
 +
 
 +
===Library===
 
* Resource library
 
* Resource library
  
==6.0 (1st quarter 2007)==
+
===Internal===
 +
* Reduce size of C generated in workbench mode
 +
 
 +
==EiffelStudio 14.05 (May 2014)==
 +
=== Compiler ===
 +
* Functional programming mechanisms + other language facilities. Type inference using conformance and the supporting facilities in the EiffelStudio UI.
 +
* Covariance fix: new mechanism to avoid catcall at compile time.
 +
* Iron: make it easy for anyone to contribute and share the results of their work to EiffelStudio users.
 +
 
 +
===Framework ===
 +
* Improvement to the Eiffel Web Framework
 +
 
 +
===Libraries===
 +
* ABEL, the new high level persistence mechanism for Eiffel.
 +
 
 +
==EiffelStudio 13.11 (November 2013)==
 +
=== Compiler ===
 +
* Add support for parenthesis alias
 +
* Simplify syntax for calling agents
 +
 
 +
===Framework ===
 +
* Improvement to the Eiffel Web Framework
 +
 
 +
==EiffelStudio 7.3 (May/June 2013)==
 
===UI===
 
===UI===
* Improved docking facilities in EiffelStudio to fully control the layout of EiffelStudio
+
* Better code completion window giving comment+contracts on a selected feature.
* Configurable pick-and-drop: user can choose between a contextual menu or pick-and-drop within the EiffelStudio environment
+
* Improved wizards for void-safety and SCOOP inclusion.
* Internationalization support
+
 
* Keyboard support for code browsing/activation - F12 to go to context reference in editor, F9 to set a breakpoint, etc.
+
===Compiler===
 +
* Targeted expression for improved void-safety convenience.
 +
* Improved void-safety settings to easy void-safety migration by adding an extra level which is just checking for conformance (no initialization).
 +
* Type intervals to solve CAT calls.
 +
 
 +
===Debugger===
 +
* Tooltip when hovering on an Eiffel expression so that expressions are evaluated and shown to user in a tooltip.
 +
 
 +
===Library===
 +
 
 +
===Internal===
 +
* Better SCOOP performance
 +
 
 +
==EiffelStudio 7.2 (5 February 2013)==
 +
===General===
 +
* Unicode support for path, command line arguments, environment variable throughout the EiffelStudio environment and libraries
 +
 
 +
===Libraries===
 +
* EiffelBase improvements
 +
* EiffelStore improvements
 +
 
 +
 
 +
==EiffelStudio 7.1 (15 May 2012)==
 +
===Compiler===
 +
* SCOOP: Add garbage collection of unused SCOOP processors.
 +
 
 +
===Libraries===
 +
* EiffelVision 2: Make compatible with SCOOP.
 +
 
 +
==EiffelStudio 7.0 (15 November 2011)==
 +
===Compiler===
 +
* Void safety: "Design mode" will suppress void-safety errors for unreachable code.
 +
 
 +
===Libraries===
 +
* Library and tool to support creating Microsoft "ribbon" interfaces on Windows based EiffelVision 2 applications.
 +
 
 +
==EiffelStudio 6.8 (15 May 2011)==
 +
===Compiler===
 +
* SCOOP: Usable implementation of SCOOP model for threads
 +
 
 +
===Debugger===
 +
* Make debugger "attachable" to and "detachable" from running applications
 +
 
 +
==EiffelStudio 6.7 (15 November 2010)==
 +
===Compiler===
 +
* Concurrency: implementation of the basic SCOOP model for threads
 +
* Unicode support: accepting UTF-8 Eiffel source file
 +
 
 +
===Ports===
 +
* EiffelVision: Macintosh native support for COCOA
 +
 
 +
==EiffelStudio 6.6 (15 May 2010)==
 +
===UI===
 +
* Various improvements to the diagram tool
 +
 
 +
===Compiler===
 +
* Initial support for QAT and once per object
 +
* New check instruction
 +
 
 +
===Libraries===
 +
* Default to the void-safe version of the library
 +
 
 +
==EiffelStudio 6.5 (4th quarter 2009)==
 +
This version will not bring major new functionality. We aim at fixing all the inconveniences that people may have experienced with our previous releases.
 +
 
 +
===Compiler===
 +
* <del>Added support for new loop construct to iterate over various containers</del>
 +
 
 +
==EiffelStudio 6.4 (2nd quarter 2009)==
 +
This version will not bring major new functionality. We aim at fixing all the inconveniences that people may have experienced with our previous releases.
 +
 
 +
===Library===
 +
* <del>Making all libraries void safe</del>
 +
* <del>Added new library for internationalization, diff and encoding</del>
 +
* <del>EiffelNet with IPv6 support</del>
 +
 
 +
===Testing===
 +
* <del>Improved testing facilities</del>
 +
 
 +
==EiffelStudio 6.3 (4th quarter 2008)==
 +
===Testing===
 +
* <del>Improved testing tool based on the CDD experiment</del>
 +
* <del>Automatic testing of classes</del>
 +
 
 +
===Compiler===
 +
* <del>Proper semantics of feature replication and non-conforming inheritance.</del>
 +
* <del>First implementation of void-safety.</del>
 +
 
 +
==EiffelStudio 6.2 (2nd quarter 2008)==
 +
===UI===
 +
* <del>Contract Editor.</del>
 +
* <del>More intellisense in the editor (snippet, ...)</del>
 +
 
 +
===Compiler===
 +
* <del>More on attached types and CAPs</del>
 +
* <del>Exception as object</del>
 +
 
 +
===Documentation===
 +
* <del>Allow reference to external documentation from Eiffel code (external can be: wiki, PDF, Word documents, ...).</del>
 +
 
 +
==EiffelStudio 6.1 (4th quarter 2007)==
 +
===UI===
 +
* <del>New Errors and Warnings tool</del>
 +
 
 +
===Compiler===
 +
* <del>Attached mechanism</del>
 +
* <del>Non-conforming inheritance</del>
 +
* <del>Object test syntax support</del>
 +
* <del>Report more than one error at a time</del>
 +
* <del>Added support for MinGW on Windows</del>
 +
 
 +
===Debugger===
 +
* <del>Execution replay</del>
 +
* <del>Various improvements</del>
 +
 
 +
==EiffelStudio 6.0 (2nd quarter 2007)==
 +
===UI===
 +
* <del>Improved docking facilities in EiffelStudio to fully control the layout of EiffelStudio</del>
 +
* <del>Configurable pick-and-drop: user can choose between a contextual menu or pick-and-drop within the EiffelStudio environment</del>
 +
* <del>Internationalization support</del>
 +
* <del>Customizable shortcuts</del>
  
 
===Compiler===
 
===Compiler===
* Progress bar for degree 6, C compilation and automatic precompilation
 
* Object test syntax support
 
 
* <del>Warning/error for changed environment variables used in a project configuration file</del>
 
* <del>Warning/error for changed environment variables used in a project configuration file</del>
* Ability to download libraries/applications from a website directly from EiffelStudio (see [[Configuration_Discovery|Discovering Configuration Files]])
 
* Reading of UTF-8 Eiffel source file
 
 
* <del>"Hidden" clusters in libraries, clusters that are not accessible if the library is used (like libraries in libraries are not accessible).</del>
 
* <del>"Hidden" clusters in libraries, clusters that are not accessible if the library is used (like libraries in libraries are not accessible).</del>
* Clean up "inheritance" rules for project settings (e.g. assertion levels of libraries)
+
* <del>Clean up "inheritance" rules for project settings (e.g. assertion levels of libraries)</del>
 
* <del>Addition of binary and octal notation for manifest integers</del>
 
* <del>Addition of binary and octal notation for manifest integers</del>
 
===Ports===
 
* Mac native support
 
  
 
===Internal===
 
===Internal===
* Reduce size of C generated in workbench mode
+
* <del>Clean up delivery, names of tools, directory layout.</del>
* Clean up delivery, names of tools, directory layout.
+
 
* <del>Get rid of *.wb files and store this in the user settings.</del>
 
* <del>Get rid of *.wb files and store this in the user settings.</del>
  
==5.7==
+
==EiffelStudio 5.7 (4th quarter 2006)==
* This is the first open source version of EiffelStudio. Look at the [http://eiffelsoftware.origo.ethz.ch/index.php/EiffelStudio_5.7_Releases release notes of 5.7] for more information.
+
* This is the first open source version of EiffelStudio. Look at the [[EiffelStudio_5.7_Releases | release notes of 5.7]] for more information.

Latest revision as of 12:03, 23 January 2014

A separate page gives the detailed roadmap for implementation of the full ISO/ECMA Eiffel standard.

Roadmap information for EiffelStudio releases:

EiffelStudio long term goals

UI

  • Customizable menus and toolbars
  • Revisit the project settings window
  • Progress bar for degree 6, for C compilation and for automatic precompilation
  • Better wizards
  • Keyboard support for code browsing/activation - Esc to go to context reference in editor, F9 to set a breakpoint, etc.
  • More refactoring
  • Smart compiling (The goal is to not have to press the compile button ever).

Compiler

  • Ability to download libraries/applications from a website directly from EiffelStudio (see Discovering Configuration Files)
  • Add new inheritance clause semantics (rename at the end rather than at the beginning).
  • Experimental new catcall mechanism
  • Catcall checker

Debugger

  • Allow editing of variables in debugger
  • Expand execution replay mechanism; add possibility of changing values then replaying
  • Make sure debugger supports new (ISO/ECMA) mechanisms

Library

  • Resource library

Internal

  • Reduce size of C generated in workbench mode

EiffelStudio 14.05 (May 2014)

Compiler

  • Functional programming mechanisms + other language facilities. Type inference using conformance and the supporting facilities in the EiffelStudio UI.
  • Covariance fix: new mechanism to avoid catcall at compile time.
  • Iron: make it easy for anyone to contribute and share the results of their work to EiffelStudio users.

Framework

  • Improvement to the Eiffel Web Framework

Libraries

  • ABEL, the new high level persistence mechanism for Eiffel.

EiffelStudio 13.11 (November 2013)

Compiler

  • Add support for parenthesis alias
  • Simplify syntax for calling agents

Framework

  • Improvement to the Eiffel Web Framework

EiffelStudio 7.3 (May/June 2013)

UI

  • Better code completion window giving comment+contracts on a selected feature.
  • Improved wizards for void-safety and SCOOP inclusion.

Compiler

  • Targeted expression for improved void-safety convenience.
  • Improved void-safety settings to easy void-safety migration by adding an extra level which is just checking for conformance (no initialization).
  • Type intervals to solve CAT calls.

Debugger

  • Tooltip when hovering on an Eiffel expression so that expressions are evaluated and shown to user in a tooltip.

Library

Internal

  • Better SCOOP performance

EiffelStudio 7.2 (5 February 2013)

General

  • Unicode support for path, command line arguments, environment variable throughout the EiffelStudio environment and libraries

Libraries

  • EiffelBase improvements
  • EiffelStore improvements


EiffelStudio 7.1 (15 May 2012)

Compiler

  • SCOOP: Add garbage collection of unused SCOOP processors.

Libraries

  • EiffelVision 2: Make compatible with SCOOP.

EiffelStudio 7.0 (15 November 2011)

Compiler

  • Void safety: "Design mode" will suppress void-safety errors for unreachable code.

Libraries

  • Library and tool to support creating Microsoft "ribbon" interfaces on Windows based EiffelVision 2 applications.

EiffelStudio 6.8 (15 May 2011)

Compiler

  • SCOOP: Usable implementation of SCOOP model for threads

Debugger

  • Make debugger "attachable" to and "detachable" from running applications

EiffelStudio 6.7 (15 November 2010)

Compiler

  • Concurrency: implementation of the basic SCOOP model for threads
  • Unicode support: accepting UTF-8 Eiffel source file

Ports

  • EiffelVision: Macintosh native support for COCOA

EiffelStudio 6.6 (15 May 2010)

UI

  • Various improvements to the diagram tool

Compiler

  • Initial support for QAT and once per object
  • New check instruction

Libraries

  • Default to the void-safe version of the library

EiffelStudio 6.5 (4th quarter 2009)

This version will not bring major new functionality. We aim at fixing all the inconveniences that people may have experienced with our previous releases.

Compiler

  • Added support for new loop construct to iterate over various containers

EiffelStudio 6.4 (2nd quarter 2009)

This version will not bring major new functionality. We aim at fixing all the inconveniences that people may have experienced with our previous releases.

Library

  • Making all libraries void safe
  • Added new library for internationalization, diff and encoding
  • EiffelNet with IPv6 support

Testing

  • Improved testing facilities

EiffelStudio 6.3 (4th quarter 2008)

Testing

  • Improved testing tool based on the CDD experiment
  • Automatic testing of classes

Compiler

  • Proper semantics of feature replication and non-conforming inheritance.
  • First implementation of void-safety.

EiffelStudio 6.2 (2nd quarter 2008)

UI

  • Contract Editor.
  • More intellisense in the editor (snippet, ...)

Compiler

  • More on attached types and CAPs
  • Exception as object

Documentation

  • Allow reference to external documentation from Eiffel code (external can be: wiki, PDF, Word documents, ...).

EiffelStudio 6.1 (4th quarter 2007)

UI

  • New Errors and Warnings tool

Compiler

  • Attached mechanism
  • Non-conforming inheritance
  • Object test syntax support
  • Report more than one error at a time
  • Added support for MinGW on Windows

Debugger

  • Execution replay
  • Various improvements

EiffelStudio 6.0 (2nd quarter 2007)

UI

  • Improved docking facilities in EiffelStudio to fully control the layout of EiffelStudio
  • Configurable pick-and-drop: user can choose between a contextual menu or pick-and-drop within the EiffelStudio environment
  • Internationalization support
  • Customizable shortcuts

Compiler

  • Warning/error for changed environment variables used in a project configuration file
  • "Hidden" clusters in libraries, clusters that are not accessible if the library is used (like libraries in libraries are not accessible).
  • Clean up "inheritance" rules for project settings (e.g. assertion levels of libraries)
  • Addition of binary and octal notation for manifest integers

Internal

  • Clean up delivery, names of tools, directory layout.
  • Get rid of *.wb files and store this in the user settings.

EiffelStudio 5.7 (4th quarter 2006)

  • This is the first open source version of EiffelStudio. Look at the release notes of 5.7 for more information.