Difference between revisions of "Environment Roadmap"

(Refine what we mean by functional progamming)
 
(24 intermediate revisions by 5 users not shown)
Line 4: Line 4:
 
Roadmap information for EiffelStudio releases:
 
Roadmap information for EiffelStudio releases:
  
==EiffelStudio 6.4 (2nd quarter 2009)==
+
==EiffelStudio long term goals==
==UI==
+
===UI===
 
* Customizable menus and toolbars
 
* Customizable menus and toolbars
 
* Revisit the project settings window
 
* Revisit the project settings window
 
* Progress bar for degree 6, for C compilation and for automatic precompilation
 
* Progress bar for degree 6, for C compilation and for automatic precompilation
 
* Better wizards
 
* 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===
 
===Compiler===
 
* Ability to download libraries/applications from a website directly from EiffelStudio (see [[Configuration_Discovery|Discovering Configuration Files]])
 
* Ability to download libraries/applications from a website directly from EiffelStudio (see [[Configuration_Discovery|Discovering Configuration Files]])
 +
* Add new inheritance clause semantics (rename at the end rather than at the beginning).
 +
* Experimental new catcall mechanism
 +
* Catcall checker
  
===Ports===
+
===Debugger===
* Mac native support
+
*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===
 
===Library===
 
* Resource library
 
* Resource library
  
==EiffelStudio 6.3 (4th quarter 2008)==
+
===Internal===
 +
* Reduce size of C generated in workbench mode
  
This version will not bring major new functionality. We aim at fixing all the inconveniences that people may have experienced with our previous releases.
+
==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.
  
==EiffelStudio 6.2 (2nd quarter 2008)==
+
===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===
* Keyboard support for code browsing/activation - Esc to go to context reference in editor, F9 to set a breakpoint, etc.
+
* Better code completion window giving comment+contracts on a selected feature.
* More refactoring
+
* Improved wizards for void-safety and SCOOP inclusion.
* Contract Editor.
+
* More intellisense in the editor (snippet, ...)
+
* Smart compiling (The goal is to not have to press the compile button ever).
+
  
 
===Compiler===
 
===Compiler===
* More on attached types and CAPs
+
* Targeted expression for improved void-safety convenience.
* Exception as object
+
* Improved void-safety settings to easy void-safety migration by adding an extra level which is just checking for conformance (no initialization).
* Catcall checker
+
* Type intervals to solve CAT calls.
* Proper semantics of feature replication and non-conforming inheritance
+
* Reading of UTF-8 Eiffel source file
+
 
+
===Documentation===
+
* Allow reference to external documentation from Eiffel code (external can be: wiki, PDF, Word documents, ...).
+
  
 
===Debugger===
 
===Debugger===
*Allow edition of variables in debugger
+
* Tooltip when hovering on an Eiffel expression so that expressions are evaluated and shown to user in a tooltip.
*Expand execution replay mechanism; add possibility of changing values then replaying
+
 
*Make sure debugger supports new (ISO/ECMA) mechanisms
+
===Library===
  
 
===Internal===
 
===Internal===
* Reduce size of C generated in workbench mode
+
* 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)==
 
==EiffelStudio 6.1 (4th quarter 2007)==
Line 83: Line 189:
  
 
==EiffelStudio 5.7 (4th quarter 2006)==
 
==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 13: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.