<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://dev.eiffel.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Halw</id>
		<title>EiffelStudio: an EiffelSoftware project - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://dev.eiffel.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Halw"/>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/Special:Contributions/Halw"/>
		<updated>2026-05-14T04:46:18Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.24.1</generator>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Environment_Roadmap&amp;diff=14537</id>
		<title>Environment Roadmap</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Environment_Roadmap&amp;diff=14537"/>
				<updated>2012-08-24T19:20:58Z</updated>
		
		<summary type="html">&lt;p&gt;Halw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:EiffelStudio]]&lt;br /&gt;
A [[Language_road_map|separate page]] gives the detailed roadmap for implementation of the '''full ISO/ECMA Eiffel standard'''.&lt;br /&gt;
&lt;br /&gt;
Roadmap information for EiffelStudio releases:&lt;br /&gt;
&lt;br /&gt;
==EiffelStudio long term goals==&lt;br /&gt;
===UI===&lt;br /&gt;
* Customizable menus and toolbars&lt;br /&gt;
* Revisit the project settings window&lt;br /&gt;
* Progress bar for degree 6, for C compilation and for automatic precompilation&lt;br /&gt;
* Better wizards&lt;br /&gt;
* Keyboard support for code browsing/activation - Esc to go to context reference in editor, F9 to set a breakpoint, etc.&lt;br /&gt;
* More refactoring&lt;br /&gt;
* Smart compiling (The goal is to not have to press the compile button ever).&lt;br /&gt;
&lt;br /&gt;
===Compiler===&lt;br /&gt;
* Ability to download libraries/applications from a website directly from EiffelStudio (see [[Configuration_Discovery|Discovering Configuration Files]])&lt;br /&gt;
* Add new inheritance clause semantics (rename at the end rather than at the beginning).&lt;br /&gt;
* Experimental new catcall mechanism&lt;br /&gt;
* Catcall checker&lt;br /&gt;
&lt;br /&gt;
===Debugger===&lt;br /&gt;
*Allow editing of variables in debugger&lt;br /&gt;
*Expand execution replay mechanism; add possibility of changing values then replaying&lt;br /&gt;
*Make sure debugger supports new (ISO/ECMA) mechanisms&lt;br /&gt;
&lt;br /&gt;
===Library===&lt;br /&gt;
* Resource library&lt;br /&gt;
&lt;br /&gt;
===Internal===&lt;br /&gt;
* Reduce size of C generated in workbench mode&lt;br /&gt;
&lt;br /&gt;
==EiffelStudio 7.1 (15 May 2012)==&lt;br /&gt;
===Compiler===&lt;br /&gt;
* SCOOP: Add garbage collection of unused SCOOP processors.&lt;br /&gt;
&lt;br /&gt;
===Libraries===&lt;br /&gt;
* EiffelVision 2: Make compatible with SCOOP.&lt;br /&gt;
&lt;br /&gt;
==EiffelStudio 7.0 (15 November 2011)==&lt;br /&gt;
===Compiler===&lt;br /&gt;
* Void safety: &amp;quot;Design mode&amp;quot; will suppress void-safety errors for unreachable code.&lt;br /&gt;
&lt;br /&gt;
===Libraries===&lt;br /&gt;
* Library and tool to support creating Microsoft &amp;quot;ribbon&amp;quot; interfaces on Windows based EiffelVision 2 applications.&lt;br /&gt;
&lt;br /&gt;
==EiffelStudio 6.8 (15 May 2011)==&lt;br /&gt;
===Compiler===&lt;br /&gt;
* SCOOP: Usable implementation of SCOOP model for threads&lt;br /&gt;
&lt;br /&gt;
===Debugger===&lt;br /&gt;
* Make debugger &amp;quot;attachable&amp;quot; to and &amp;quot;detachable&amp;quot; from running applications&lt;br /&gt;
&lt;br /&gt;
==EiffelStudio 6.7 (15 November 2010)==&lt;br /&gt;
===Compiler===&lt;br /&gt;
* Concurrency: implementation of the basic SCOOP model for threads&lt;br /&gt;
* Unicode support: accepting UTF-8 Eiffel source file&lt;br /&gt;
&lt;br /&gt;
===Ports===&lt;br /&gt;
* EiffelVision: Macintosh native support for COCOA&lt;br /&gt;
&lt;br /&gt;
==EiffelStudio 6.6 (15 May 2010)==&lt;br /&gt;
===UI===&lt;br /&gt;
* Various improvements to the diagram tool&lt;br /&gt;
&lt;br /&gt;
===Compiler===&lt;br /&gt;
* Initial support for QAT and once per object&lt;br /&gt;
* New check instruction&lt;br /&gt;
&lt;br /&gt;
===Libraries===&lt;br /&gt;
* Default to the void-safe version of the library&lt;br /&gt;
&lt;br /&gt;
==EiffelStudio 6.5 (4th quarter 2009)==&lt;br /&gt;
This version will not bring major new functionality. We aim at fixing all the inconveniences that people may have experienced with our previous releases.&lt;br /&gt;
&lt;br /&gt;
===Compiler===&lt;br /&gt;
* &amp;lt;del&amp;gt;Added support for new loop construct to iterate over various containers&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==EiffelStudio 6.4 (2nd quarter 2009)==&lt;br /&gt;
This version will not bring major new functionality. We aim at fixing all the inconveniences that people may have experienced with our previous releases.&lt;br /&gt;
&lt;br /&gt;
===Library===&lt;br /&gt;
* &amp;lt;del&amp;gt;Making all libraries void safe&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;Added new library for internationalization, diff and encoding&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;EiffelNet with IPv6 support&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
* &amp;lt;del&amp;gt;Improved testing facilities&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==EiffelStudio 6.3 (4th quarter 2008)==&lt;br /&gt;
===Testing===&lt;br /&gt;
* &amp;lt;del&amp;gt;Improved testing tool based on the CDD experiment&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;Automatic testing of classes&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Compiler===&lt;br /&gt;
* &amp;lt;del&amp;gt;Proper semantics of feature replication and non-conforming inheritance.&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;First implementation of void-safety.&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==EiffelStudio 6.2 (2nd quarter 2008)==&lt;br /&gt;
===UI===&lt;br /&gt;
* &amp;lt;del&amp;gt;Contract Editor.&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;More intellisense in the editor (snippet, ...)&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Compiler===&lt;br /&gt;
* &amp;lt;del&amp;gt;More on attached types and CAPs&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;Exception as object&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Documentation===&lt;br /&gt;
* &amp;lt;del&amp;gt;Allow reference to external documentation from Eiffel code (external can be: wiki, PDF, Word documents, ...).&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==EiffelStudio 6.1 (4th quarter 2007)==&lt;br /&gt;
===UI===&lt;br /&gt;
* &amp;lt;del&amp;gt;New Errors and Warnings tool&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Compiler===&lt;br /&gt;
* &amp;lt;del&amp;gt;Attached mechanism&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;Non-conforming inheritance&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;Object test syntax support&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;Report more than one error at a time&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;Added support for MinGW on Windows&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Debugger===&lt;br /&gt;
* &amp;lt;del&amp;gt;Execution replay&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;Various improvements&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==EiffelStudio 6.0 (2nd quarter 2007)==&lt;br /&gt;
===UI===&lt;br /&gt;
* &amp;lt;del&amp;gt;Improved docking facilities in EiffelStudio to fully control the layout of EiffelStudio&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;Configurable pick-and-drop: user can choose between a contextual menu or pick-and-drop within the EiffelStudio environment&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;Internationalization support&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;Customizable shortcuts&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Compiler===&lt;br /&gt;
* &amp;lt;del&amp;gt;Warning/error for changed environment variables used in a project configuration file&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;&amp;quot;Hidden&amp;quot; clusters in libraries, clusters that are not accessible if the library is used (like libraries in libraries are not accessible).&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;Clean up &amp;quot;inheritance&amp;quot; rules for project settings (e.g. assertion levels of libraries)&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;Addition of binary and octal notation for manifest integers&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Internal===&lt;br /&gt;
* &amp;lt;del&amp;gt;Clean up delivery, names of tools, directory layout.&amp;lt;/del&amp;gt;&lt;br /&gt;
* &amp;lt;del&amp;gt;Get rid of *.wb files and store this in the user settings.&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==EiffelStudio 5.7 (4th quarter 2006)==&lt;br /&gt;
* 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.&lt;/div&gt;</summary>
		<author><name>Halw</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Main_Page&amp;diff=14323</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Main_Page&amp;diff=14323"/>
				<updated>2011-12-14T20:13:16Z</updated>
		
		<summary type="html">&lt;p&gt;Halw: /* Getting Started */ Removed explicit version reference from &amp;quot;Changelog&amp;quot; entry, substituting redirection&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:General]]__NOTOC__&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;firstHeading&amp;quot;&amp;gt;EiffelStudio Integrated Development Environment&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:EiffelStudioScreenshot.png|thumb|250px|right|EiffelStudio IDE ([http://eiffel.com/products/studio/screenshots.html more screenshots]) ]]&lt;br /&gt;
&lt;br /&gt;
Welcome to the central resource for EiffelStudio developers and contributors.&lt;br /&gt;
==News==&lt;br /&gt;
*''28 November 2011'': EiffelStudio 7.0 is available for download at http://www.eiffel.com/downloads&lt;br /&gt;
*''25-26 June 2011'': [[Eiffel_Design_Feast_2011 | The Eiffel Design Feast in Zurich]].&lt;br /&gt;
*''6 June 2011'': EiffelStudio 6.8 is available for download at http://www.eiffel.com/downloads&lt;br /&gt;
*''15 December 2010'': EiffelStudio 6.7 is available for download at http://www.eiffel.com/downloads&lt;br /&gt;
&lt;br /&gt;
==Background==&lt;br /&gt;
&lt;br /&gt;
EiffelStudio is an advanced commercial-grade IDE for the [http://en.wikipedia.org/wiki/Eiffel_programming_language Eiffel programming language]. It is maintained and developed mostly by [http://www.eiffel.com  Eiffel Software] and hosted at the [http://se.inf.ethz.ch/ Chair of Software Engineering] at [http://www.ethz.ch/ ETH Zurich].&lt;br /&gt;
&lt;br /&gt;
On April 5th, 2006, Eiffel Software relicensed the EiffelStudio product under the [[Gnu Public License]]. Eiffel Software still offers a commercial variant. Both versions share the same source code.&lt;br /&gt;
&lt;br /&gt;
EiffelStudio is a full-featured IDE offering the following features, many of them unique:&lt;br /&gt;
&lt;br /&gt;
* Complete compiler for the Eiffel programming language, with Design By Contract (DBC) support and both high compile-time speed and high-performance executables, based on the Melting Ice Technology.&lt;br /&gt;
* Full portability (including graphics) across Windows, MacOS X, Linux, *BSD, Solaris and other operating systems&lt;br /&gt;
* Smart code editor&lt;br /&gt;
* Sophisticated multi-view browsing and viewing facilities&lt;br /&gt;
* Interactive debugger&lt;br /&gt;
* Graphical modeling tool for UML and BON with full roundtrip&lt;br /&gt;
* Refactoring support&lt;br /&gt;
* GUI development tool (EiffelBuild) and fully portable GUI library (EiffelVision)&lt;br /&gt;
* Many other libraries of reusable component.&lt;br /&gt;
&lt;br /&gt;
The Eiffel compiler creates C code that is then handed to a standard C compiler. As a result, Eiffel programs have a run-time performance comparable to those directly written in C or C++, but with the benefits of an advanced object-oriented model and strong typing. EiffelStudio uses a highly efficient compacting garbage collector to free the developer from the burden of memory management.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;If you want to know more about the unique features of Eiffel and EiffelStudio, check out our [[Reasons for using Eiffel]] page.&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;font-size:80%;&amp;quot; bgcolor=white|&lt;br /&gt;
{| cellspacing=8 width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;50%&amp;quot; bgcolor=&amp;quot;#f6f9fb&amp;quot; style=&amp;quot;border:1px solid #8f8f8f;padding:0 .5em .5em .5em;&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
* [[Downloads]]&lt;br /&gt;
* [[EiffelStudio Releases|Changelog of current release (release branch)]]&lt;br /&gt;
* [http://docs.eiffel.com/book/eiffelstudio/software-installation-eiffelstudio Installing EiffelStudio]&lt;br /&gt;
* [[Compiling Hello World]]&lt;br /&gt;
|width=&amp;quot;50%&amp;quot; bgcolor=&amp;quot;#f6f9fb&amp;quot; style=&amp;quot;border:1px solid #8f8f8f;padding:0 .5em .5em .5em;&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
== Working with EiffelStudio ==&lt;br /&gt;
&lt;br /&gt;
* [[Frequently Asked Questions]]&lt;br /&gt;
* [[Eiffel Glossary]]&lt;br /&gt;
* [[Eiffel Compilation Explained]]&lt;br /&gt;
* [[EiffelStudio Wish List]]&lt;br /&gt;
&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;50%&amp;quot; bgcolor=&amp;quot;#f6f9fb&amp;quot; style=&amp;quot;border:1px solid #8f8f8f;padding:0 .5em .5em .5em;&amp;quot;|&lt;br /&gt;
== Contributing! ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:Projects|How to contribute: the Projects page]]&lt;br /&gt;
* [[:Category:Testing|EiffelStudio testing process: you can participate!]]&lt;br /&gt;
* [[EiffelStudio 7.0 Releases|Changelog of latest development version, currently 7.0 (development trunk)]]&lt;br /&gt;
* [[Repository|Getting the source: Subversion repository]]&lt;br /&gt;
* [[Compiling EiffelStudio]]&lt;br /&gt;
* [[:Category:Tools|Developer's tools]]&lt;br /&gt;
* [[Language_Roadmap|Language roadmap]]&lt;br /&gt;
* [[Environment_Roadmap|Environment roadmap]]&lt;br /&gt;
* [[Design_and_coding_rules|Design and coding rules]]&lt;br /&gt;
|width=&amp;quot;50%&amp;quot; bgcolor=&amp;quot;#f6f9fb&amp;quot; style=&amp;quot;border:1px solid #8f8f8f;padding:0 .5em .5em .5em;&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
== Community ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.eiffelroom.org EiffelRoom]&lt;br /&gt;
* [[Spread_the_word|Spread the word]]&lt;br /&gt;
* [[Eiffel Sites and Links]]&lt;br /&gt;
* [[Mailing Lists]]&lt;br /&gt;
* [[:Category:News|News]]&lt;br /&gt;
* Join us on IRC at chat.freenode.net #eiffelstudio or through http://community.eiffel.com/irc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Halw</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Main_Page&amp;diff=14322</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Main_Page&amp;diff=14322"/>
				<updated>2011-12-14T20:06:07Z</updated>
		
		<summary type="html">&lt;p&gt;Halw: /* News */ Added version 7.0&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:General]]__NOTOC__&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;firstHeading&amp;quot;&amp;gt;EiffelStudio Integrated Development Environment&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:EiffelStudioScreenshot.png|thumb|250px|right|EiffelStudio IDE ([http://eiffel.com/products/studio/screenshots.html more screenshots]) ]]&lt;br /&gt;
&lt;br /&gt;
Welcome to the central resource for EiffelStudio developers and contributors.&lt;br /&gt;
==News==&lt;br /&gt;
*''28 November 2011'': EiffelStudio 7.0 is available for download at http://www.eiffel.com/downloads&lt;br /&gt;
*''25-26 June 2011'': [[Eiffel_Design_Feast_2011 | The Eiffel Design Feast in Zurich]].&lt;br /&gt;
*''6 June 2011'': EiffelStudio 6.8 is available for download at http://www.eiffel.com/downloads&lt;br /&gt;
*''15 December 2010'': EiffelStudio 6.7 is available for download at http://www.eiffel.com/downloads&lt;br /&gt;
&lt;br /&gt;
==Background==&lt;br /&gt;
&lt;br /&gt;
EiffelStudio is an advanced commercial-grade IDE for the [http://en.wikipedia.org/wiki/Eiffel_programming_language Eiffel programming language]. It is maintained and developed mostly by [http://www.eiffel.com  Eiffel Software] and hosted at the [http://se.inf.ethz.ch/ Chair of Software Engineering] at [http://www.ethz.ch/ ETH Zurich].&lt;br /&gt;
&lt;br /&gt;
On April 5th, 2006, Eiffel Software relicensed the EiffelStudio product under the [[Gnu Public License]]. Eiffel Software still offers a commercial variant. Both versions share the same source code.&lt;br /&gt;
&lt;br /&gt;
EiffelStudio is a full-featured IDE offering the following features, many of them unique:&lt;br /&gt;
&lt;br /&gt;
* Complete compiler for the Eiffel programming language, with Design By Contract (DBC) support and both high compile-time speed and high-performance executables, based on the Melting Ice Technology.&lt;br /&gt;
* Full portability (including graphics) across Windows, MacOS X, Linux, *BSD, Solaris and other operating systems&lt;br /&gt;
* Smart code editor&lt;br /&gt;
* Sophisticated multi-view browsing and viewing facilities&lt;br /&gt;
* Interactive debugger&lt;br /&gt;
* Graphical modeling tool for UML and BON with full roundtrip&lt;br /&gt;
* Refactoring support&lt;br /&gt;
* GUI development tool (EiffelBuild) and fully portable GUI library (EiffelVision)&lt;br /&gt;
* Many other libraries of reusable component.&lt;br /&gt;
&lt;br /&gt;
The Eiffel compiler creates C code that is then handed to a standard C compiler. As a result, Eiffel programs have a run-time performance comparable to those directly written in C or C++, but with the benefits of an advanced object-oriented model and strong typing. EiffelStudio uses a highly efficient compacting garbage collector to free the developer from the burden of memory management.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;If you want to know more about the unique features of Eiffel and EiffelStudio, check out our [[Reasons for using Eiffel]] page.&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|style=&amp;quot;font-size:80%;&amp;quot; bgcolor=white|&lt;br /&gt;
{| cellspacing=8 width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;50%&amp;quot; bgcolor=&amp;quot;#f6f9fb&amp;quot; style=&amp;quot;border:1px solid #8f8f8f;padding:0 .5em .5em .5em;&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
* [[Downloads]]&lt;br /&gt;
* [[EiffelStudio 6.8 Releases|Changelog of 6.8 (release branch)]]&lt;br /&gt;
* [http://docs.eiffel.com/book/eiffelstudio/software-installation-eiffelstudio Installing EiffelStudio]&lt;br /&gt;
* [[Compiling Hello World]]&lt;br /&gt;
|width=&amp;quot;50%&amp;quot; bgcolor=&amp;quot;#f6f9fb&amp;quot; style=&amp;quot;border:1px solid #8f8f8f;padding:0 .5em .5em .5em;&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
== Working with EiffelStudio ==&lt;br /&gt;
&lt;br /&gt;
* [[Frequently Asked Questions]]&lt;br /&gt;
* [[Eiffel Glossary]]&lt;br /&gt;
* [[Eiffel Compilation Explained]]&lt;br /&gt;
* [[EiffelStudio Wish List]]&lt;br /&gt;
&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;50%&amp;quot; bgcolor=&amp;quot;#f6f9fb&amp;quot; style=&amp;quot;border:1px solid #8f8f8f;padding:0 .5em .5em .5em;&amp;quot;|&lt;br /&gt;
== Contributing! ==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:Projects|How to contribute: the Projects page]]&lt;br /&gt;
* [[:Category:Testing|EiffelStudio testing process: you can participate!]]&lt;br /&gt;
* [[EiffelStudio 7.0 Releases|Changelog of latest development version, currently 7.0 (development trunk)]]&lt;br /&gt;
* [[Repository|Getting the source: Subversion repository]]&lt;br /&gt;
* [[Compiling EiffelStudio]]&lt;br /&gt;
* [[:Category:Tools|Developer's tools]]&lt;br /&gt;
* [[Language_Roadmap|Language roadmap]]&lt;br /&gt;
* [[Environment_Roadmap|Environment roadmap]]&lt;br /&gt;
* [[Design_and_coding_rules|Design and coding rules]]&lt;br /&gt;
|width=&amp;quot;50%&amp;quot; bgcolor=&amp;quot;#f6f9fb&amp;quot; style=&amp;quot;border:1px solid #8f8f8f;padding:0 .5em .5em .5em;&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
== Community ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.eiffelroom.org EiffelRoom]&lt;br /&gt;
* [[Spread_the_word|Spread the word]]&lt;br /&gt;
* [[Eiffel Sites and Links]]&lt;br /&gt;
* [[Mailing Lists]]&lt;br /&gt;
* [[:Category:News|News]]&lt;br /&gt;
* Join us on IRC at chat.freenode.net #eiffelstudio or through http://community.eiffel.com/irc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Halw</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Downloads&amp;diff=14320</id>
		<title>Downloads</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Downloads&amp;diff=14320"/>
				<updated>2011-12-04T18:22:08Z</updated>
		
		<summary type="html">&lt;p&gt;Halw: Updated to redirect to V7.0 releases page and changed 6.x to 7.x&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:EiffelStudio]]&lt;br /&gt;
[[Category:Compiler]]&lt;br /&gt;
==EiffelStudio 7.x Pre-releases==&lt;br /&gt;
We provide versions of EiffelStudio for most popular platforms (Linux, Windows, Solaris, Irix, ...). &lt;br /&gt;
&lt;br /&gt;
You can find the latest builds:&lt;br /&gt;
* from the download page of [http://sourceforge.net/project/showfiles.php?group_id=196408 the sourceforge area]&lt;br /&gt;
* as well as in [ftp://beta:beta57@ftp.eiffel.com the Eiffel Software beta area] (beware it also includes some nightly build which are untested).&lt;br /&gt;
* in [http://eiffelstudio.origo.ethz.ch/download the Origo download area] for the PorterPackage.&lt;br /&gt;
&lt;br /&gt;
Details about new features and bug fixes in the builds are on the [[EiffelStudio_Releases| releases page]].&lt;br /&gt;
&lt;br /&gt;
{{Note|Please be aware that the 7.x versions released through this site are intermediate builds on the road towards official EiffelStudio 7.x. If you are experiencing problems with this release, please use the [http://eiffelstudio.origo.ethz.ch/forum EiffelStudio developer forums] for discussions.}}&lt;br /&gt;
&lt;br /&gt;
The convention used for filenames is the following:&lt;br /&gt;
 Eiffel70_gpl_$BUILD-$ISE_PLATFORM.[tar.bz2|msi]&lt;br /&gt;
Where '''$BUILD''' is a build number, the higher number the more recent release it is, and where '''$ISE_PLATFORM''' is the name of your platform.&lt;br /&gt;
&lt;br /&gt;
Mac OS X builds can be found [[EiffelOnMac|here]].&lt;br /&gt;
&lt;br /&gt;
On Windows, you can use [[Installing_Microsoft_C_compiler|the latest Microsoft C compiler]], but EiffelStudio 6.1 needs [[Installing_Microsoft_C_compiler_6.1_and_older|an older compiler]].&lt;br /&gt;
&lt;br /&gt;
==EiffelStudio 7.x==&lt;br /&gt;
You can download the official EiffelStudio 7.x release from [http://www.eiffel.com/downloads/eiffelstudio.html Eiffel Software]. The GPL release can also be downloaded from [http://sourceforge.net/project/showfiles.php?group_id=196408 http://sflogo.sourceforge.net/sflogo.php?group_id=196408.png].&lt;br /&gt;
&lt;br /&gt;
==Doc Builder==&lt;br /&gt;
You can download the documentation generation tool for Windows 32-bit with .NET 1.1 installed by extracting the content of [http://download.origo.ethz.ch/eiffelstudio/174/doc_builder.zip doc_builder.zip] (or [http://download.origo.ethz.ch/eiffelstudio/174/doc_builder_64-bit.zip doc_builder_64-bit.zip] for the 64-bit version) onto your hard-drive. Once installed, you can launch the tool by launching the '''doc_builder.exe''' executable.&lt;br /&gt;
&lt;br /&gt;
If you have both .NET 1.1 and .NET 2.0 (or greater), you need to force the loading of .NET 1.1. To do so, edit the file '''doc_builder.exe.config''' so that its content looks like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xml&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt; &lt;br /&gt;
	&amp;lt;startup&amp;gt; &lt;br /&gt;
		&amp;lt;requiredRuntime version=&amp;quot;v1.1.4322&amp;quot; safemode=&amp;quot;true&amp;quot;/&amp;gt; &lt;br /&gt;
	&amp;lt;/startup&amp;gt; &lt;br /&gt;
	&amp;lt;runtime&amp;gt; &lt;br /&gt;
		&amp;lt;assemblyBinding xmlns=&amp;quot;urn:schemas-microsoft-com:asm.v1&amp;quot;&amp;gt; &lt;br /&gt;
			&amp;lt;probing privatePath=&amp;quot;Assemblies&amp;quot;/&amp;gt; &lt;br /&gt;
		&amp;lt;/assemblyBinding&amp;gt; &lt;br /&gt;
	&amp;lt;/runtime&amp;gt; &lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/xml&amp;gt;&lt;/div&gt;</summary>
		<author><name>Halw</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_Releases&amp;diff=14319</id>
		<title>EiffelStudio Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_Releases&amp;diff=14319"/>
				<updated>2011-12-04T18:00:21Z</updated>
		
		<summary type="html">&lt;p&gt;Halw: Updated to redirect to V7.0 releases page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[EiffelStudio 7.0 Releases]]&lt;/div&gt;</summary>
		<author><name>Halw</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_Releases&amp;diff=14108</id>
		<title>EiffelStudio Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_Releases&amp;diff=14108"/>
				<updated>2011-05-17T13:49:27Z</updated>
		
		<summary type="html">&lt;p&gt;Halw: Updated to redirect to V6.8 releases page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[EiffelStudio 6.8 Releases]]&lt;/div&gt;</summary>
		<author><name>Halw</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=A_Simple_Guide_to_Use_Internationalization_Library&amp;diff=14071</id>
		<title>A Simple Guide to Use Internationalization Library</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=A_Simple_Guide_to_Use_Internationalization_Library&amp;diff=14071"/>
				<updated>2011-02-27T16:18:10Z</updated>
		
		<summary type="html">&lt;p&gt;Halw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Internationalization]]&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
This page focuses on very simple/general steps to bring i18n library up in your project.&lt;br /&gt;
&lt;br /&gt;
== Steps ==&lt;br /&gt;
# Choose and create a directory to put exported translated files (*.mo).&lt;br /&gt;
# In your project, initialize a &amp;lt;e&amp;gt;{I18N_LOCALE_MANAGER}&amp;lt;/e&amp;gt; using the dir created in step 1.&lt;br /&gt;
# Write normal code that uses &amp;lt;e&amp;gt;{I18N_LOCALE}.translation&amp;lt;/e&amp;gt; or &amp;lt;e&amp;gt;{I18N_LOCALE}.plural_translation&amp;lt;/e&amp;gt; to get translated texts. &amp;lt;e&amp;gt;{I18N_LOCALE}&amp;lt;/e&amp;gt; instances can be queried from &amp;lt;e&amp;gt;{I18N_LOCALE_MANAGER}&amp;lt;/e&amp;gt;.&lt;br /&gt;
# Run [[po_generation_tool]] to extract template file (.pot) to be translated.&lt;br /&gt;
# Copy the .pot file to .po files with the name of the language you need. For example, es_ES.po for Spanish, ko_KR.po for Korean.&lt;br /&gt;
# Translate .po files using external tools like poEdit for Windows and KBabel or gtranslator for KDE and Gnome.&lt;br /&gt;
# Export .mo files using the tools above. And copy them into the directory created in step 1.&lt;br /&gt;
# Run the executable, you get translated strings at run-time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Process Diagram==&lt;br /&gt;
&lt;br /&gt;
[[Image:I18n process diagram.png]]&lt;/div&gt;</summary>
		<author><name>Halw</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=File:I18n_process_diagram.png&amp;diff=14070</id>
		<title>File:I18n process diagram.png</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=File:I18n_process_diagram.png&amp;diff=14070"/>
				<updated>2011-02-27T16:15:31Z</updated>
		
		<summary type="html">&lt;p&gt;Halw: uploaded a new version of &amp;quot;Image:I18n process diagram.png&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Halw</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=File:I18n_process_diagram.png&amp;diff=14069</id>
		<title>File:I18n process diagram.png</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=File:I18n_process_diagram.png&amp;diff=14069"/>
				<updated>2011-02-27T16:08:31Z</updated>
		
		<summary type="html">&lt;p&gt;Halw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Halw</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_Releases&amp;diff=14030</id>
		<title>EiffelStudio Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_Releases&amp;diff=14030"/>
				<updated>2010-12-31T15:00:53Z</updated>
		
		<summary type="html">&lt;p&gt;Halw: Updated to redirect to V6.7 releases page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[EiffelStudio 6.7 Releases]]&lt;/div&gt;</summary>
		<author><name>Halw</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=SCOOP-A6:_Examples&amp;diff=13856</id>
		<title>SCOOP-A6: Examples</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=SCOOP-A6:_Examples&amp;diff=13856"/>
				<updated>2010-05-28T16:01:22Z</updated>
		
		<summary type="html">&lt;p&gt;Halw: Created.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{UnderConstruction}}&lt;br /&gt;
[[Category:Concurrency_(SCOOP)]]&lt;br /&gt;
Team: Hal&lt;br /&gt;
&lt;br /&gt;
Objective: Identify a set of SCOOP examples that can be used throughout the development cycle and as examples in the EiffelStudio distribution.&lt;br /&gt;
&lt;br /&gt;
First observations:&lt;br /&gt;
&lt;br /&gt;
A number of examples have been created in an ETHZ project: SCOOP in Practice. The Eiffel Verification Environment (EVE) project includes some of the SCOOP in Practice examples, plus others.  Currently the EVE project shows source code for the following examples:&lt;br /&gt;
&lt;br /&gt;
# Baboon Crossing&lt;br /&gt;
# Barbershop&lt;br /&gt;
# Counter&lt;br /&gt;
# Dining Philosophers&lt;br /&gt;
# Dining Savages&lt;br /&gt;
# Faneuil Hall&lt;br /&gt;
# Partree&lt;br /&gt;
# Producer/Consumer&lt;br /&gt;
# Senate Bus&lt;br /&gt;
# Single Element Producer/Consumer&lt;/div&gt;</summary>
		<author><name>Halw</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_Releases&amp;diff=13727</id>
		<title>EiffelStudio Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_Releases&amp;diff=13727"/>
				<updated>2010-03-09T17:57:03Z</updated>
		
		<summary type="html">&lt;p&gt;Halw: Updated to redirect to V6.6 releases page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[EiffelStudio 6.6 Releases]]&lt;/div&gt;</summary>
		<author><name>Halw</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Template:ReleaseHistoryHeader&amp;diff=13596</id>
		<title>Template:ReleaseHistoryHeader</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Template:ReleaseHistoryHeader&amp;diff=13596"/>
				<updated>2010-02-02T16:22:27Z</updated>
		
		<summary type="html">&lt;p&gt;Halw: Fixed link to release notes page to reference Drupal-based docs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Below are not the release notes of EiffelStudio. It is the change log of EiffelStudio intermediate releases and the most important changes are highlighted in red. The release notes of EiffelStudio can be found at the following [http://docs.eiffel.com/book/eiffelstudio/eiffelstudio-release-notes URL]. You can also download the latest revision [http://sourceforge.net/project/showfiles.php?group_id=196408 here]. Information about other version can be found under [[:Category:Releases]].&lt;/div&gt;</summary>
		<author><name>Halw</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Category:Projects&amp;diff=13584</id>
		<title>Category:Projects</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Category:Projects&amp;diff=13584"/>
				<updated>2010-01-24T19:05:47Z</updated>
		
		<summary type="html">&lt;p&gt;Halw: Restructured note to authors&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Contributing to open-source EiffelStudio==&lt;br /&gt;
Now that you have [[Spread_the_word|spread the word]] about Eiffel, you feel the urge to contribute to the product itself. There are many ways to help develop EiffelStudio through projects large and small. Check the list of open projects below; if you see one of interest, contact the project members as listed on the corresponding project page. Don't forget to subscribe to the Eiffel developers list (see the [[Mailing_Lists|the mailing lists page]]) where you can post questions about past, current and possible projects.&lt;br /&gt;
&lt;br /&gt;
If you feel none of the current projects covers your special interest, see below how to [[#Adding_your_own_project|add your own project]].&lt;br /&gt;
&lt;br /&gt;
Whatever your contribution, remember that Eiffel is also about style. Make sure you are familiar with the [[Design_and_coding_rules|design and coding rules]] and apply them thoroughly.&lt;br /&gt;
&lt;br /&gt;
{{note| '''To authors of projects available from this page:''' please make sure the project description is up to date and in particular that '''the project members are listed''' and reachable; that's the best way to gain more collaborators. If the project is no longer active please move the entry to [[#Projects_to_be_started_or_restarted|projects to be started or restarted]] section so that someone else may pick it up.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== General environment mechanisms ==&lt;br /&gt;
There are always new ideas to improve the user experience with EiffelStudio.&lt;br /&gt;
&lt;br /&gt;
* [[Advanced Class and Feature Wizard| Advanced class and feature wizard ]]&lt;br /&gt;
::Improve ease of use, for both novice and advanced users, by refining the tools that create classes and features from templates.&lt;br /&gt;
*[[Editor|Editor]]&lt;br /&gt;
::Improve the EiffelStudio built-in smart editor.&lt;br /&gt;
* [[Refactoring|More refactoring mechanisms]]&lt;br /&gt;
::While Eiffel doesn't need some of the refactoring mechanisms of other languages, the environment could benefit from new refactoring mechanisms in addition to the ones currently supported.&lt;br /&gt;
* [[Eiffel_Mutation_Testing_Tool| Eiffel Mutation Testing Tool]]&lt;br /&gt;
::Build a high-quality mutation testing tool (for evaluating the quality of test strategies, fault detectability and redundancy) taking advantage of Eiffel's mechanisms, especially Design by Contract.&lt;br /&gt;
&lt;br /&gt;
{{Note| For tool development check out the [[Tool Integration Development]] page for a quick tutorial on how to integrate a tool window in EiffelStudio.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Graphics and user interface ==&lt;br /&gt;
Make the user interface of EiffelStudio more appealing. Much of the work is to be done in the underlying EiffelVision library, with the added benefit that improvements will be available to user applications as well.&lt;br /&gt;
&lt;br /&gt;
*[[Vision2_Accelerator|EiffelVision Accelerators]]&lt;br /&gt;
::More keyboard accelerators for EiffelVision applications.&lt;br /&gt;
*[[EiffelVision_Unicode|Unicode support for EiffelVision]]&lt;br /&gt;
::EiffelVision support for the character set of arbitrary human languages (see also [[Unicode]]).&lt;br /&gt;
*[[EiffelBuild_Integration|EiffelBuild Integration]]&lt;br /&gt;
::The graphical user interface builder, EiffelBuild, is currently a separate product. Ideally it should be completely integrated with EiffelStudio.&lt;br /&gt;
*[[Cocoa_for_EiffelVision2|Cocoa for EiffelVision]]&lt;br /&gt;
::Provide EiffelVision with a Carbon back-end to make it truly native on the Mac.&lt;br /&gt;
* [[Internationalization|EiffelStudio UI for other languages (internationalization)]]&lt;br /&gt;
::EiffelStudio provides support for changing the user interface messages and dialogs to any language. If you are a fluent speaker of a language other than English, you can help the localization into that language.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Libraries (other than EiffelVision) ==&lt;br /&gt;
&lt;br /&gt;
Eiffel is all about reuse of quality components. The best way to get started as an Eiffel contributor is to extend an existing library, or start a new one to fill a need.&lt;br /&gt;
&lt;br /&gt;
* [[#Graphics_and_user_interface|EiffelVision-related developments appear under graphics and user interface]].&lt;br /&gt;
* [[Eiffel_NXT | Eiffel LEGO NXT Commumication Library and EiffelStudio Integration]]&lt;br /&gt;
::Remote communication with LEGO NXT Mindstorms &amp;quot;bricks&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build infrastructure ==&lt;br /&gt;
Developments in this category are intended to help produce new versions of EiffelStudio faster and better.&lt;br /&gt;
&lt;br /&gt;
*[[Build_tool | Build tool]]&lt;br /&gt;
::Simplify and streamline the EiffelStudio build process.&lt;br /&gt;
*[[Debian_packages | Debian packages]]&lt;br /&gt;
::Include EiffelStudio in standard Debian installation&lt;br /&gt;
*[[OSX_release_infrastructure|OSX release infrastructure]]&lt;br /&gt;
::Script the release of Mac universal binaries for OS X&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Language and compiler ==&lt;br /&gt;
This is the heart of the Eiffel environment: providing the best possible implementation of the Eiffel language. See the [[:Category:Compiler|compiler pages]] for detailed information about EiffelStudio's compiling techniques including the Melting Ice Technology.&lt;br /&gt;
* [[ECMA Implementation|Full ISO/ECMA support]]&lt;br /&gt;
::The Eiffel standard developed by the ECMA TC39-TG4 committee and approved in 2006 by the International Standards Organization is the definitive reference on the Eiffel language. Work is progressing quickly to include all ECMA-ISO mechanisms into the EiffelStudio compiler; you can help fill the remaining gaps. &lt;br /&gt;
&lt;br /&gt;
{{note|On this site you will also find a [[:Category:ECMA|category]] for ECMA pages in which many proposals and other topics are discussed, but are not necessarily approved by the ECMA committee. Refer to the official ISO/ECMA documents for the official word.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Stuff ==&lt;br /&gt;
&lt;br /&gt;
* [[ESTeaching | Eiffel Studio for Teaching]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
Developing is not everything; the results must also be tested for functionality and performance. The EiffelStudio testing process is completely open and follows advanced software engineering standard. Please visit the special [[:Category:Testing|category devoted to EiffelStudio testing]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Projects to be started or restarted ==&lt;br /&gt;
The projects in this list are mere ideas which may not yet have a project page. Some of them were started but not completed. Feel free to take over! If you do so, move the project to one of the above sections (compiler, libraries etc.). If you have further suggestions you may include them here.&lt;br /&gt;
* [[EiffelStudio_Wish_List|EiffelStudio Wish List]]&lt;br /&gt;
::Not really the description of a single project, but a collection of ideas of cool things to add to EiffelStudio. Feel free to add to it.&lt;br /&gt;
* [[Compilation_Without_Configuration|Compilation without configuration]]&lt;br /&gt;
::A mechanism to compile classes without providing a control file.&lt;br /&gt;
* [[Wish CHARACTER 16|CHARACTER 16]]&lt;br /&gt;
::A request for a new basic type.&lt;br /&gt;
*[[Component_standards| Standards and tools for Eiffel-based components]]&lt;br /&gt;
::Develop a standard for distributing Eiffel components in binary form, and implement it&lt;br /&gt;
* [[Unicode|Unicode support improvement]]&lt;br /&gt;
::Improve support for character sets of arbitrary human languages. See also [[EiffelVision_Unicode|EiffelVision Unicode support]].&lt;br /&gt;
* [[New_ports|Porting to new platforms (OSX Intel, OpenBSD)]]&lt;br /&gt;
::Eiffel is highly portable; a port to a new platform is a moderate effort.&lt;br /&gt;
* [[IDE|IDE improvements]]&lt;br /&gt;
::This should be replaced by more specific goals, see [[#General_environment_mechanisms|general environment mechanisms]] above.&lt;br /&gt;
* [[Extended_static_checking|Extended static checking]]&lt;br /&gt;
::See e.g. ESC-Java, Spec#...&lt;br /&gt;
* [[Code_checking|Direct code checking (red squiggly lines)]]&lt;br /&gt;
::More user-friendly error &amp;quot;non-messages&amp;quot;, following the lead of spelling error reporting in MS Word&lt;br /&gt;
* [[Learning|Integrated learning support]]&lt;br /&gt;
::Support for total beginners&lt;br /&gt;
* [[Macros|Editor macro recording and playback]]&lt;br /&gt;
::Give EiffelStudio, in particular the editor, a macro facility&lt;br /&gt;
* [[Editor_breakpoints|Inserting and navigation of editor breakpoints]]&lt;br /&gt;
::Add breakpoints to the editor for better navigation&lt;br /&gt;
* [[EMU| Eiffel Multi User]]&lt;br /&gt;
::Integrate a repository mechanism&lt;br /&gt;
* [[Trace_points|Adding trace points]]&lt;br /&gt;
:: Output a trace statement indicating a trace point has been hit, without the need to write code or stop execution&lt;br /&gt;
* [[Update_notification|Update notification]]&lt;br /&gt;
::An update notification service to let developers know there is a new version available.&lt;br /&gt;
* [[Configuration_management|Integrated support for configuration management]]&lt;br /&gt;
::Integrate configuration management into EiffelStudio.&lt;br /&gt;
*[[Scintilla_component| Multiplatform editor component: Scintilla]]&lt;br /&gt;
::Encapsulate Scintilla multi-platform editor&lt;br /&gt;
*[[Gecko_component| Multiplatform layout engine component: Mozilla/Gecko]]&lt;br /&gt;
::Encapsulate Gecko html multi-platform engine component&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Completed projects ==&lt;br /&gt;
&lt;br /&gt;
* [[AutoTest_Integration|Integrating AutoTest into EiffelStudio]]&lt;br /&gt;
::[http://se.ethz.ch/research/autotest/ AutoTest] is an automated testing framework taking advantage of Eiffel's Design by Contract to provide far more automation than current solutions such as JUnit. Currently it is a separate tool; ideally it should be part of EiffelStudio.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Adding your own project ==&lt;br /&gt;
To add your own project:&lt;br /&gt;
*Make sure it is not redundant with one of the existing projects. If there is any chance of duplication, please contact the project authors first.&lt;br /&gt;
*If you have not already done so, subscribe to the developers' mailing list (see the [[Mailing_Lists|the mailing lists page]]). Post a message to the list explaining your idea and asking for feedback.&lt;br /&gt;
*Also check the above [[#Projects_to_be_started_or_restarted|list of &amp;quot;projects to be started or restarted&amp;quot;]], in particular the [[EiffelStudio_Wish_List|EiffelStudio Wish List]]. Some of the pages are just stubs, but others already have a detailed analysis which can serve as a framework for future work on the corresponding features.&lt;br /&gt;
*If you decide to go forward, create a page about your project, listing the goals of the project, the rationale (why is this useful?), the issues to be solved, the overall techniques proposed, and a general development strategy. Make sure to include a &amp;quot;project members&amp;quot; section so that people can contact you (for example through your user name on this Wiki).&lt;br /&gt;
*Edit the present page so that it includes a link to your project page; select the appropriate category. Below the link, include (as in current entries) a one- or two-line summary of the project's goal.&lt;br /&gt;
*Do it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Spread_the_word|Spread the word]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Contributions]]&lt;/div&gt;</summary>
		<author><name>Halw</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Category:Projects&amp;diff=13583</id>
		<title>Category:Projects</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Category:Projects&amp;diff=13583"/>
				<updated>2010-01-24T18:59:42Z</updated>
		
		<summary type="html">&lt;p&gt;Halw: Moved &amp;quot;General environment mechanisms&amp;quot; to the top; Moved &amp;quot;Integrating AutoTest ...&amp;quot; to &amp;quot;Complete projects&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Contributing to open-source EiffelStudio==&lt;br /&gt;
Now that you have [[Spread_the_word|spread the word]] about Eiffel, you feel the urge to contribute to the product itself. There are many ways to help develop EiffelStudio through projects large and small. Check the list of open projects below; if you see one of interest, contact the project members as listed on the corresponding project page. Don't forget to subscribe to the Eiffel developers list (see the [[Mailing_Lists|the mailing lists page]]) where you can post questions about past, current and possible projects.&lt;br /&gt;
&lt;br /&gt;
If you feel none of the current projects covers your special interest, see below how to [[#Adding_your_own_project|add your own project]].&lt;br /&gt;
&lt;br /&gt;
Whatever your contribution, remember that Eiffel is also about style. Make sure you are familiar with the [[Design_and_coding_rules|design and coding rules]] and apply them thoroughly.&lt;br /&gt;
&lt;br /&gt;
'''Note to author of projects''' available from this page: please make sure the project description is up to date and in particular that '''the project members are listed''' and reachable; that's the best way to gain more collaborators. If the project is no longer active please move the entry to [[#Projects_to_be_started_or_restarted|projects to be started or restarted]] section so that someone else may pick it up.&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== General environment mechanisms ==&lt;br /&gt;
There are always new ideas to improve the user experience with EiffelStudio.&lt;br /&gt;
&lt;br /&gt;
* [[Advanced Class and Feature Wizard| Advanced class and feature wizard ]]&lt;br /&gt;
::Improve ease of use, for both novice and advanced users, by refining the tools that create classes and features from templates.&lt;br /&gt;
*[[Editor|Editor]]&lt;br /&gt;
::Improve the EiffelStudio built-in smart editor.&lt;br /&gt;
* [[Refactoring|More refactoring mechanisms]]&lt;br /&gt;
::While Eiffel doesn't need some of the refactoring mechanisms of other languages, the environment could benefit from new refactoring mechanisms in addition to the ones currently supported.&lt;br /&gt;
* [[Eiffel_Mutation_Testing_Tool| Eiffel Mutation Testing Tool]]&lt;br /&gt;
::Build a high-quality mutation testing tool (for evaluating the quality of test strategies, fault detectability and redundancy) taking advantage of Eiffel's mechanisms, especially Design by Contract.&lt;br /&gt;
&lt;br /&gt;
{{Note| For tool development check out the [[Tool Integration Development]] page for a quick tutorial on how to integrate a tool window in EiffelStudio.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Graphics and user interface ==&lt;br /&gt;
Make the user interface of EiffelStudio more appealing. Much of the work is to be done in the underlying EiffelVision library, with the added benefit that improvements will be available to user applications as well.&lt;br /&gt;
&lt;br /&gt;
*[[Vision2_Accelerator|EiffelVision Accelerators]]&lt;br /&gt;
::More keyboard accelerators for EiffelVision applications.&lt;br /&gt;
*[[EiffelVision_Unicode|Unicode support for EiffelVision]]&lt;br /&gt;
::EiffelVision support for the character set of arbitrary human languages (see also [[Unicode]]).&lt;br /&gt;
*[[EiffelBuild_Integration|EiffelBuild Integration]]&lt;br /&gt;
::The graphical user interface builder, EiffelBuild, is currently a separate product. Ideally it should be completely integrated with EiffelStudio.&lt;br /&gt;
*[[Cocoa_for_EiffelVision2|Cocoa for EiffelVision]]&lt;br /&gt;
::Provide EiffelVision with a Carbon back-end to make it truly native on the Mac.&lt;br /&gt;
* [[Internationalization|EiffelStudio UI for other languages (internationalization)]]&lt;br /&gt;
::EiffelStudio provides support for changing the user interface messages and dialogs to any language. If you are a fluent speaker of a language other than English, you can help the localization into that language.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Libraries (other than EiffelVision) ==&lt;br /&gt;
&lt;br /&gt;
Eiffel is all about reuse of quality components. The best way to get started as an Eiffel contributor is to extend an existing library, or start a new one to fill a need.&lt;br /&gt;
&lt;br /&gt;
* [[#Graphics_and_user_interface|EiffelVision-related developments appear under graphics and user interface]].&lt;br /&gt;
* [[Eiffel_NXT | Eiffel LEGO NXT Commumication Library and EiffelStudio Integration]]&lt;br /&gt;
::Remote communication with LEGO NXT Mindstorms &amp;quot;bricks&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build infrastructure ==&lt;br /&gt;
Developments in this category are intended to help produce new versions of EiffelStudio faster and better.&lt;br /&gt;
&lt;br /&gt;
*[[Build_tool | Build tool]]&lt;br /&gt;
::Simplify and streamline the EiffelStudio build process.&lt;br /&gt;
*[[Debian_packages | Debian packages]]&lt;br /&gt;
::Include EiffelStudio in standard Debian installation&lt;br /&gt;
*[[OSX_release_infrastructure|OSX release infrastructure]]&lt;br /&gt;
::Script the release of Mac universal binaries for OS X&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Language and compiler ==&lt;br /&gt;
This is the heart of the Eiffel environment: providing the best possible implementation of the Eiffel language. See the [[:Category:Compiler|compiler pages]] for detailed information about EiffelStudio's compiling techniques including the Melting Ice Technology.&lt;br /&gt;
* [[ECMA Implementation|Full ISO/ECMA support]]&lt;br /&gt;
::The Eiffel standard developed by the ECMA TC39-TG4 committee and approved in 2006 by the International Standards Organization is the definitive reference on the Eiffel language. Work is progressing quickly to include all ECMA-ISO mechanisms into the EiffelStudio compiler; you can help fill the remaining gaps. &lt;br /&gt;
&lt;br /&gt;
{{note|On this site you will also find a [[:Category:ECMA|category]] for ECMA pages in which many proposals and other topics are discussed, but are not necessarily approved by the ECMA committee. Refer to the official ISO/ECMA documents for the official word.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Stuff ==&lt;br /&gt;
&lt;br /&gt;
* [[ESTeaching | Eiffel Studio for Teaching]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
Developing is not everything; the results must also be tested for functionality and performance. The EiffelStudio testing process is completely open and follows advanced software engineering standard. Please visit the special [[:Category:Testing|category devoted to EiffelStudio testing]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Projects to be started or restarted ==&lt;br /&gt;
The projects in this list are mere ideas which may not yet have a project page. Some of them were started but not completed. Feel free to take over! If you do so, move the project to one of the above sections (compiler, libraries etc.). If you have further suggestions you may include them here.&lt;br /&gt;
* [[EiffelStudio_Wish_List|EiffelStudio Wish List]]&lt;br /&gt;
::Not really the description of a single project, but a collection of ideas of cool things to add to EiffelStudio. Feel free to add to it.&lt;br /&gt;
* [[Compilation_Without_Configuration|Compilation without configuration]]&lt;br /&gt;
::A mechanism to compile classes without providing a control file.&lt;br /&gt;
* [[Wish CHARACTER 16|CHARACTER 16]]&lt;br /&gt;
::A request for a new basic type.&lt;br /&gt;
*[[Component_standards| Standards and tools for Eiffel-based components]]&lt;br /&gt;
::Develop a standard for distributing Eiffel components in binary form, and implement it&lt;br /&gt;
* [[Unicode|Unicode support improvement]]&lt;br /&gt;
::Improve support for character sets of arbitrary human languages. See also [[EiffelVision_Unicode|EiffelVision Unicode support]].&lt;br /&gt;
* [[New_ports|Porting to new platforms (OSX Intel, OpenBSD)]]&lt;br /&gt;
::Eiffel is highly portable; a port to a new platform is a moderate effort.&lt;br /&gt;
* [[IDE|IDE improvements]]&lt;br /&gt;
::This should be replaced by more specific goals, see [[#General_environment_mechanisms|general environment mechanisms]] above.&lt;br /&gt;
* [[Extended_static_checking|Extended static checking]]&lt;br /&gt;
::See e.g. ESC-Java, Spec#...&lt;br /&gt;
* [[Code_checking|Direct code checking (red squiggly lines)]]&lt;br /&gt;
::More user-friendly error &amp;quot;non-messages&amp;quot;, following the lead of spelling error reporting in MS Word&lt;br /&gt;
* [[Learning|Integrated learning support]]&lt;br /&gt;
::Support for total beginners&lt;br /&gt;
* [[Macros|Editor macro recording and playback]]&lt;br /&gt;
::Give EiffelStudio, in particular the editor, a macro facility&lt;br /&gt;
* [[Editor_breakpoints|Inserting and navigation of editor breakpoints]]&lt;br /&gt;
::Add breakpoints to the editor for better navigation&lt;br /&gt;
* [[EMU| Eiffel Multi User]]&lt;br /&gt;
::Integrate a repository mechanism&lt;br /&gt;
* [[Trace_points|Adding trace points]]&lt;br /&gt;
:: Output a trace statement indicating a trace point has been hit, without the need to write code or stop execution&lt;br /&gt;
* [[Update_notification|Update notification]]&lt;br /&gt;
::An update notification service to let developers know there is a new version available.&lt;br /&gt;
* [[Configuration_management|Integrated support for configuration management]]&lt;br /&gt;
::Integrate configuration management into EiffelStudio.&lt;br /&gt;
*[[Scintilla_component| Multiplatform editor component: Scintilla]]&lt;br /&gt;
::Encapsulate Scintilla multi-platform editor&lt;br /&gt;
*[[Gecko_component| Multiplatform layout engine component: Mozilla/Gecko]]&lt;br /&gt;
::Encapsulate Gecko html multi-platform engine component&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Completed projects ==&lt;br /&gt;
&lt;br /&gt;
* [[AutoTest_Integration|Integrating AutoTest into EiffelStudio]]&lt;br /&gt;
::[http://se.ethz.ch/research/autotest/ AutoTest] is an automated testing framework taking advantage of Eiffel's Design by Contract to provide far more automation than current solutions such as JUnit. Currently it is a separate tool; ideally it should be part of EiffelStudio.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Adding your own project ==&lt;br /&gt;
To add your own project:&lt;br /&gt;
*Make sure it is not redundant with one of the existing projects. If there is any chance of duplication, please contact the project authors first.&lt;br /&gt;
*If you have not already done so, subscribe to the developers' mailing list (see the [[Mailing_Lists|the mailing lists page]]). Post a message to the list explaining your idea and asking for feedback.&lt;br /&gt;
*Also check the above [[#Projects_to_be_started_or_restarted|list of &amp;quot;projects to be started or restarted&amp;quot;]], in particular the [[EiffelStudio_Wish_List|EiffelStudio Wish List]]. Some of the pages are just stubs, but others already have a detailed analysis which can serve as a framework for future work on the corresponding features.&lt;br /&gt;
*If you decide to go forward, create a page about your project, listing the goals of the project, the rationale (why is this useful?), the issues to be solved, the overall techniques proposed, and a general development strategy. Make sure to include a &amp;quot;project members&amp;quot; section so that people can contact you (for example through your user name on this Wiki).&lt;br /&gt;
*Edit the present page so that it includes a link to your project page; select the appropriate category. Below the link, include (as in current entries) a one- or two-line summary of the project's goal.&lt;br /&gt;
*Do it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Spread_the_word|Spread the word]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Contributions]]&lt;/div&gt;</summary>
		<author><name>Halw</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Category:Projects&amp;diff=13582</id>
		<title>Category:Projects</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Category:Projects&amp;diff=13582"/>
				<updated>2010-01-24T18:17:04Z</updated>
		
		<summary type="html">&lt;p&gt;Halw: Reordered project categories; other cosmetic changes.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Contributing to open-source EiffelStudio==&lt;br /&gt;
Now that you have [[Spread_the_word|spread the word]] about Eiffel, you feel the urge to contribute to the product itself. There are many ways to help develop EiffelStudio through projects large and small. Check the list of open projects below; if you see one of interest, contact the project members as listed on the corresponding project page. Don't forget to subscribe to the Eiffel developers list (see the [[Mailing_Lists|the mailing lists page]]) where you can post questions about past, current and possible projects.&lt;br /&gt;
&lt;br /&gt;
If you feel none of the current projects covers your special interest, see below how to [[#Adding_your_own_project|add your own project]].&lt;br /&gt;
&lt;br /&gt;
Whatever your contribution, remember that Eiffel is also about style. Make sure you are familiar with the [[Design_and_coding_rules|design and coding rules]] and apply them thoroughly.&lt;br /&gt;
&lt;br /&gt;
'''Note to author of projects''' available from this page: please make sure the project description is up to date and in particular that '''the project members are listed''' and reachable; that's the best way to gain more collaborators. If the project is no longer active please move the entry to [[#Projects_to_be_started_or_restarted|projects to be started or restarted]] section so that someone else may pick it up.&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Libraries (other than EiffelVision) ==&lt;br /&gt;
&lt;br /&gt;
Eiffel is all about reuse of quality components. The best way to get started as an Eiffel contributor is to extend an existing library, or start a new one to fill a need.&lt;br /&gt;
&lt;br /&gt;
* [[#Graphics_and_user_interface|EiffelVision-related developments appear under graphics and user interface]].&lt;br /&gt;
* [[Eiffel_NXT | Eiffel LEGO NXT Commumication Library and EiffelStudio Integration]]&lt;br /&gt;
::Remote communication with LEGO NXT Mindstorms &amp;quot;bricks&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Graphics and user interface ==&lt;br /&gt;
Make the user interface of EiffelStudio more appealing. Much of the work is to be done in the underlying EiffelVision library, with the added benefit that improvements will be available to user applications as well.&lt;br /&gt;
&lt;br /&gt;
*[[Vision2_Accelerator|EiffelVision Accelerators]]&lt;br /&gt;
::More keyboard accelerators for EiffelVision applications.&lt;br /&gt;
*[[EiffelVision_Unicode|Unicode support for EiffelVision]]&lt;br /&gt;
::EiffelVision support for the character set of arbitrary human languages (see also [[Unicode]]).&lt;br /&gt;
*[[EiffelBuild_Integration|EiffelBuild Integration]]&lt;br /&gt;
::The graphical user interface builder, EiffelBuild, is currently a separate product. Ideally it should be completely integrated with EiffelStudio.&lt;br /&gt;
*[[Cocoa_for_EiffelVision2|Cocoa for EiffelVision]]&lt;br /&gt;
::Provide EiffelVision with a Carbon back-end to make it truly native on the Mac.&lt;br /&gt;
* [[Internationalization|EiffelStudio UI for other languages (internationalization)]]&lt;br /&gt;
::EiffelStudio provides support for changing the user interface messages and dialogs to any language. If you are a fluent speaker of a language other than English, you can help the localization into that language.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== General environment mechanisms ==&lt;br /&gt;
There are always new ideas to improve the user experience with EiffelStudio.&lt;br /&gt;
&lt;br /&gt;
* [[AutoTest_Integration|Integrating AutoTest into EiffelStudio]]&lt;br /&gt;
::[http://se.ethz.ch/research/autotest/ AutoTest] is an automated testing framework taking advantage of Eiffel's Design by Contract to provide far more automation than current solutions such as JUnit. Currently it is a separate tool; ideally it should be part of EiffelStudio.&lt;br /&gt;
* [[Advanced Class and Feature Wizard| Advanced class and feature wizard ]]&lt;br /&gt;
::Improve ease of use, for both novice and advanced users, by refining the tools that create classes and features from templates.&lt;br /&gt;
*[[Editor|Editor]]&lt;br /&gt;
::Improve the EiffelStudio built-in smart editor.&lt;br /&gt;
* [[Refactoring|More refactoring mechanisms]]&lt;br /&gt;
::While Eiffel doesn't need some of the refactoring mechanisms of other languages, the environment could benefit from new refactoring mechanisms in addition to the ones currently supported.&lt;br /&gt;
* [[Eiffel_Mutation_Testing_Tool| Eiffel Mutation Testing Tool]]&lt;br /&gt;
::Build a high-quality mutation testing tool (for evaluating the quality of test strategies, fault detectability and redundancy) taking advantage of Eiffel's mechanisms, especially Design by Contract.&lt;br /&gt;
&lt;br /&gt;
{{Note| For tool development check out the [[Tool Integration Development]] page for a quick tutorial on how to integrate a tool window in EiffelStudio.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build infrastructure ==&lt;br /&gt;
Developments in this category are intended to help produce new versions of EiffelStudio faster and better.&lt;br /&gt;
&lt;br /&gt;
*[[Build_tool | Build tool]]&lt;br /&gt;
::Simplify and streamline the EiffelStudio build process.&lt;br /&gt;
*[[Debian_packages | Debian packages]]&lt;br /&gt;
::Include EiffelStudio in standard Debian installation&lt;br /&gt;
*[[OSX_release_infrastructure|OSX release infrastructure]]&lt;br /&gt;
::Script the release of Mac universal binaries for OS X&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Language and compiler ==&lt;br /&gt;
This is the heart of the Eiffel environment: providing the best possible implementation of the Eiffel language. See the [[:Category:Compiler|compiler pages]] for detailed information about EiffelStudio's compiling techniques including the Melting Ice Technology.&lt;br /&gt;
* [[ECMA Implementation|Full ISO/ECMA support]]&lt;br /&gt;
::The Eiffel standard developed by the ECMA TC39-TG4 committee and approved in 2006 by the International Standards Organization is the definitive reference on the Eiffel language. Work is progressing quickly to include all ECMA-ISO mechanisms into the EiffelStudio compiler; you can help fill the remaining gaps. &lt;br /&gt;
&lt;br /&gt;
{{note|On this site you will also find a [[:Category:ECMA|category]] for ECMA pages in which many proposals and other topics are discussed, but are not necessarily approved by the ECMA committee. Refer to the official ISO/ECMA documents for the official word.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Stuff ==&lt;br /&gt;
&lt;br /&gt;
* [[ESTeaching | Eiffel Studio for Teaching]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
Developing is not everything; the results must also be tested for functionality and performance. The EiffelStudio testing process is completely open and follows advanced software engineering standard. Please visit the special [[:Category:Testing|category devoted to EiffelStudio testing]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Projects to be started or restarted ==&lt;br /&gt;
The projects in this list are mere ideas which may not yet have a project page. Some of them were started but not completed. Feel free to take over! If you do so, move the project to one of the above sections (compiler, libraries etc.). If you have further suggestions you may include them here.&lt;br /&gt;
* [[EiffelStudio_Wish_List|EiffelStudio Wish List]]&lt;br /&gt;
::Not really the description of a single project, but a collection of ideas of cool things to add to EiffelStudio. Feel free to add to it.&lt;br /&gt;
* [[Compilation_Without_Configuration|Compilation without configuration]]&lt;br /&gt;
::A mechanism to compile classes without providing a control file.&lt;br /&gt;
* [[Wish CHARACTER 16|CHARACTER 16]]&lt;br /&gt;
::A request for a new basic type.&lt;br /&gt;
*[[Component_standards| Standards and tools for Eiffel-based components]]&lt;br /&gt;
::Develop a standard for distributing Eiffel components in binary form, and implement it&lt;br /&gt;
* [[Unicode|Unicode support improvement]]&lt;br /&gt;
::Improve support for character sets of arbitrary human languages. See also [[EiffelVision_Unicode|EiffelVision Unicode support]].&lt;br /&gt;
* [[New_ports|Porting to new platforms (OSX Intel, OpenBSD)]]&lt;br /&gt;
::Eiffel is highly portable; a port to a new platform is a moderate effort.&lt;br /&gt;
* [[IDE|IDE improvements]]&lt;br /&gt;
::This should be replaced by more specific goals, see [[#General_environment_mechanisms|general environment mechanisms]] above.&lt;br /&gt;
* [[Extended_static_checking|Extended static checking]]&lt;br /&gt;
::See e.g. ESC-Java, Spec#...&lt;br /&gt;
* [[Code_checking|Direct code checking (red squiggly lines)]]&lt;br /&gt;
::More user-friendly error &amp;quot;non-messages&amp;quot;, following the lead of spelling error reporting in MS Word&lt;br /&gt;
* [[Learning|Integrated learning support]]&lt;br /&gt;
::Support for total beginners&lt;br /&gt;
* [[Macros|Editor macro recording and playback]]&lt;br /&gt;
::Give EiffelStudio, in particular the editor, a macro facility&lt;br /&gt;
* [[Editor_breakpoints|Inserting and navigation of editor breakpoints]]&lt;br /&gt;
::Add breakpoints to the editor for better navigation&lt;br /&gt;
* [[EMU| Eiffel Multi User]]&lt;br /&gt;
::Integrate a repository mechanism&lt;br /&gt;
* [[Trace_points|Adding trace points]]&lt;br /&gt;
:: Output a trace statement indicating a trace point has been hit, without the need to write code or stop execution&lt;br /&gt;
* [[Update_notification|Update notification]]&lt;br /&gt;
::An update notification service to let developers know there is a new version available.&lt;br /&gt;
* [[Configuration_management|Integrated support for configuration management]]&lt;br /&gt;
::Integrate configuration management into EiffelStudio.&lt;br /&gt;
*[[Scintilla_component| Multiplatform editor component: Scintilla]]&lt;br /&gt;
::Encapsulate Scintilla multi-platform editor&lt;br /&gt;
*[[Gecko_component| Multiplatform layout engine component: Mozilla/Gecko]]&lt;br /&gt;
::Encapsulate Gecko html multi-platform engine component&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Completed projects ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Adding your own project ==&lt;br /&gt;
To add your own project:&lt;br /&gt;
*Make sure it is not redundant with one of the existing projects. If there is any chance of duplication, please contact the project authors first.&lt;br /&gt;
*If you have not already done so, subscribe to the developers' mailing list (see the [[Mailing_Lists|the mailing lists page]]). Post a message to the list explaining your idea and asking for feedback.&lt;br /&gt;
*Also check the above [[#Projects_to_be_started_or_restarted|list of &amp;quot;projects to be started or restarted&amp;quot;]], in particular the [[EiffelStudio_Wish_List|EiffelStudio Wish List]]. Some of the pages are just stubs, but others already have a detailed analysis which can serve as a framework for future work on the corresponding features.&lt;br /&gt;
*If you decide to go forward, create a page about your project, listing the goals of the project, the rationale (why is this useful?), the issues to be solved, the overall techniques proposed, and a general development strategy. Make sure to include a &amp;quot;project members&amp;quot; section so that people can contact you (for example through your user name on this Wiki).&lt;br /&gt;
*Edit the present page so that it includes a link to your project page; select the appropriate category. Below the link, include (as in current entries) a one- or two-line summary of the project's goal.&lt;br /&gt;
*Do it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Spread_the_word|Spread the word]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Contributions]]&lt;/div&gt;</summary>
		<author><name>Halw</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Category:Projects&amp;diff=13581</id>
		<title>Category:Projects</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Category:Projects&amp;diff=13581"/>
				<updated>2010-01-24T18:10:47Z</updated>
		
		<summary type="html">&lt;p&gt;Halw: Directed ECMA reference to ECMA Implementation page vs. ECMA Category, add note of explanation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Contributing to open-source EiffelStudio==&lt;br /&gt;
Now that you have [[Spread_the_word|spread the word]] about Eiffel, you feel the urge to contribute to the product itself. There are many ways to help develop EiffelStudio through projects large and small. Check the list of open projects below; if you see one of interest, contact the project members as listed on the corresponding project page. Don't forget to subscribe to the Eiffel developers list (see the [[Mailing_Lists|the mailing lists page]]) where you can post questions about past, current and possible projects.&lt;br /&gt;
&lt;br /&gt;
If you feel none of the current projects covers your special interest, see below how to [[#Adding_your_own_project|add your own project]].&lt;br /&gt;
&lt;br /&gt;
Whatever your contribution, remember that Eiffel is also about style. Make sure you are familiar with the [[Design_and_coding_rules|design and coding rules]] and apply them thoroughly.&lt;br /&gt;
&lt;br /&gt;
'''Note to author of projects''' available from this page: please make sure the project description is up to date and in particular that '''the project members are listed''' and reachable; that's the best way to gain more collaborators. If the project is no longer active please move the entry to [[#Projects_to_be_started_or_restarted|projects to be started or restarted]] section so that someone else may pick it up.&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Libraries (other than EiffelVision) ==&lt;br /&gt;
&lt;br /&gt;
Eiffel is all about reuse of quality components. The best way to get started as an Eiffel contributor is to extend an existing library, or start a new one to fill a need.&lt;br /&gt;
&lt;br /&gt;
EiffelVision-related developments appear under [[#Graphics_and_user_interface|graphics and user interface]].&lt;br /&gt;
* [[Eiffel_NXT | Eiffel LEGO NXT Commumication Library and EiffelStudio Integration]]&lt;br /&gt;
::Remote communication with LEGO NXT Mindstorms &amp;quot;bricks&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Language and compiler ==&lt;br /&gt;
This is the heart of the Eiffel environment: providing the best possible implementation of the Eiffel language. See the [[:Category:Compiler|compiler pages]] for detailed information about EiffelStudio's compiling techniques including the Melting Ice Technology.&lt;br /&gt;
* [[ECMA Implementation|Full ISO/ECMA support]]&lt;br /&gt;
::The Eiffel standard developed by the ECMA TC39-TG4 committee and approved in 2006 by the International Standards Organization is the definitive reference on the Eiffel language. Work is progressing quickly to include all ECMA-ISO mechanisms into the EiffelStudio compiler; you can help fill the remaining gaps. &lt;br /&gt;
&lt;br /&gt;
{{note|On this site you will also find a [[:Category:ECMA|category]] for ECMA pages in which many proposals and other topics are discussed, but are not necessarily approved by the ECMA committee. Refer to the official ISO/ECMA documents for the official word.}}&lt;br /&gt;
&lt;br /&gt;
== General environment mechanisms ==&lt;br /&gt;
There are always new ideas to improve the user experience with EiffelStudio.&lt;br /&gt;
&lt;br /&gt;
* [[AutoTest_Integration|Integrating AutoTest into EiffelStudio]]&lt;br /&gt;
::[http://se.ethz.ch/research/autotest/ AutoTest] is an automated testing framework taking advantage of Eiffel's Design by Contract to provide far more automation than current solutions such as JUnit. Currently it is a separate tool; ideally it should be part of EiffelStudio.&lt;br /&gt;
* [[Advanced Class and Feature Wizard| Advanced class and feature wizard ]]&lt;br /&gt;
::Improve ease of use, for both novice and advanced users, by refining the tools that create classes and features from templates.&lt;br /&gt;
*[[Editor|Editor]]&lt;br /&gt;
::Improve the EiffelStudio built-in smart editor.&lt;br /&gt;
* [[Refactoring|More refactoring mechanisms]]&lt;br /&gt;
::While Eiffel doesn't need some of the refactoring mechanisms of other languages, the environment could benefit from new refactoring mechanisms in addition to the ones currently supported.&lt;br /&gt;
* [[Eiffel_Mutation_Testing_Tool| Eiffel Mutation Testing Tool]]&lt;br /&gt;
::Build a high-quality mutation testing tool (for evaluating the quality of test strategies, fault detectability and redundancy) taking advantage of Eiffel's mechanisms, especially Design by Contract.&lt;br /&gt;
&lt;br /&gt;
{{Note| For tool development check out the [[Tool Integration Development]] page for a quick tutorial on how to integrate a tool window in EiffelStudio.}}&lt;br /&gt;
&lt;br /&gt;
== Graphics and user interface ==&lt;br /&gt;
Make the user interface of EiffelStudio more appealing. Much of the work is to be done in the underlying EiffelVision library, with the added benefit that improvements will be available to user applications as well.&lt;br /&gt;
&lt;br /&gt;
*[[Vision2_Accelerator|EiffelVision Accelerators]]&lt;br /&gt;
::More keyboard accelerators for EiffelVision applications.&lt;br /&gt;
*[[EiffelVision_Unicode|Unicode support for EiffelVision]]&lt;br /&gt;
::EiffelVision support for the character set of arbitrary human languages (see also [[Unicode]]).&lt;br /&gt;
*[[EiffelBuild_Integration|EiffelBuild Integration]]&lt;br /&gt;
::The graphical user interface builder, EiffelBuild, is currently a separate product. Ideally it should be completely integrated with EiffelStudio.&lt;br /&gt;
*[[Cocoa_for_EiffelVision2|Cocoa for EiffelVision]]&lt;br /&gt;
::Provide EiffelVision with a Carbon back-end to make it truly native on the Mac.&lt;br /&gt;
* [[Internationalization|EiffelStudio UI for other languages (internationalization)]]&lt;br /&gt;
::EiffelStudio provides support for changing the user interface messages and dialogs to any language. If you are a fluent speaker of a language other than English, you can help the localization into that language.&lt;br /&gt;
&lt;br /&gt;
== Build infrastructure ==&lt;br /&gt;
Developments in this category are intended to help produce new versions of EiffelStudio faster and better.&lt;br /&gt;
&lt;br /&gt;
*[[Build_tool | Build tool]]&lt;br /&gt;
::Simplify and streamline the EiffelStudio build process.&lt;br /&gt;
*[[Debian_packages | Debian packages]]&lt;br /&gt;
::Include EiffelStudio in standard Debian installation&lt;br /&gt;
*[[OSX_release_infrastructure|OSX release infrastructure]]&lt;br /&gt;
::Script the release of Mac universal binaries for OS X&lt;br /&gt;
&lt;br /&gt;
== Other Stuff ==&lt;br /&gt;
&lt;br /&gt;
* [[ESTeaching | Eiffel Studio for Teaching]]&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
Developing is not everything; the results must also be tested for functionality and performance. The EiffelStudio testing process is completely open and follows advanced software engineering standard. Please visit the special [[:Category:Testing|category devoted to EiffelStudio testing]].&lt;br /&gt;
&lt;br /&gt;
== Projects to be started or restarted ==&lt;br /&gt;
The projects in this list are mere ideas which may not yet have a project page. Some of them were started but not completed. Feel free to take over! If you do so, move the project to one of the above sections (compiler, libraries etc.). If you have further suggestions you may include them here.&lt;br /&gt;
* [[EiffelStudio_Wish_List|EiffelStudio Wish List]]&lt;br /&gt;
::Not really the description of a single project, but a collection of ideas of cool things to add to EiffelStudio. Feel free to add to it.&lt;br /&gt;
* [[Compilation_Without_Configuration|Compilation without configuration]]&lt;br /&gt;
::A mechanism to compile classes without providing a control file.&lt;br /&gt;
* [[Wish CHARACTER 16|CHARACTER 16]]&lt;br /&gt;
::A request for a new basic type.&lt;br /&gt;
*[[Component_standards| Standards and tools for Eiffel-based components]]&lt;br /&gt;
::Develop a standard for distributing Eiffel components in binary form, and implement it&lt;br /&gt;
* [[Unicode|Unicode support improvement]]&lt;br /&gt;
::Improve support for character sets of arbitrary human languages. See also [[EiffelVision_Unicode|EiffelVision Unicode support]].&lt;br /&gt;
* [[New_ports|Porting to new platforms (OSX Intel, OpenBSD)]]&lt;br /&gt;
::Eiffel is highly portable; a port to a new platform is a moderate effort.&lt;br /&gt;
* [[IDE|IDE improvements]]&lt;br /&gt;
::This should be replaced by more specific goals, see [[#General_environment_mechanisms|general environment mechanisms]] above.&lt;br /&gt;
* [[Extended_static_checking|Extended static checking]]&lt;br /&gt;
::See e.g. ESC-Java, Spec#...&lt;br /&gt;
* [[Code_checking|Direct code checking (red squiggly lines)]]&lt;br /&gt;
::More user-friendly error &amp;quot;non-messages&amp;quot;, following the lead of spelling error reporting in MS Word&lt;br /&gt;
* [[Learning|Integrated learning support]]&lt;br /&gt;
::Support for total beginners&lt;br /&gt;
* [[Macros|Editor macro recording and playback]]&lt;br /&gt;
::Give EiffelStudio, in particular the editor, a macro facility&lt;br /&gt;
* [[Editor_breakpoints|Inserting and navigation of editor breakpoints]]&lt;br /&gt;
::Add breakpoints to the editor for better navigation&lt;br /&gt;
* [[EMU| Eiffel Multi User]]&lt;br /&gt;
::Integrate a repository mechanism&lt;br /&gt;
* [[Trace_points|Adding trace points]]&lt;br /&gt;
:: Output a trace statement indicating a trace point has been hit, without the need to write code or stop execution&lt;br /&gt;
* [[Update_notification|Update notification]]&lt;br /&gt;
::An update notification service to let developers know there is a new version available.&lt;br /&gt;
* [[Configuration_management|Integrated support for configuration management]]&lt;br /&gt;
::Integrate configuration management into EiffelStudio.&lt;br /&gt;
*[[Scintilla_component| Multiplatform editor component: Scintilla]]&lt;br /&gt;
::Encapsulate Scintilla multi-platform editor&lt;br /&gt;
*[[Gecko_component| Multiplatform layout engine component: Mozilla/Gecko]]&lt;br /&gt;
::Encapsulate Gecko html multi-platform engine component&lt;br /&gt;
&lt;br /&gt;
== Completed projects ==&lt;br /&gt;
&lt;br /&gt;
== Adding your own project ==&lt;br /&gt;
To add your own project:&lt;br /&gt;
*Make sure it is not redundant with one of the existing projects. If there is any chance of duplication, please contact the project authors first.&lt;br /&gt;
*If you have not already done so, subscribe to the developers' mailing list (see the [[Mailing_Lists|the mailing lists page]]). Post a message to the list explaining your idea and asking for feedback.&lt;br /&gt;
*Also check the above [[#Projects_to_be_started_or_restarted|list of &amp;quot;projects to be started or restarted&amp;quot;]], in particular the [[EiffelStudio_Wish_List|EiffelStudio Wish List]]. Some of the pages are just stubs, but others already have a detailed analysis which can serve as a framework for future work on the corresponding features.&lt;br /&gt;
*If you decide to go forward, create a page about your project, listing the goals of the project, the rationale (why is this useful?), the issues to be solved, the overall techniques proposed, and a general development strategy. Make sure to include a &amp;quot;project members&amp;quot; section so that people can contact you (for example through your user name on this Wiki).&lt;br /&gt;
*Edit the present page so that it includes a link to your project page; select the appropriate category. Below the link, include (as in current entries) a one- or two-line summary of the project's goal.&lt;br /&gt;
*Do it!&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Spread_the_word|Spread the word]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Contributions]]&lt;/div&gt;</summary>
		<author><name>Halw</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Category:Projects&amp;diff=13580</id>
		<title>Category:Projects</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Category:Projects&amp;diff=13580"/>
				<updated>2010-01-24T18:08:09Z</updated>
		
		<summary type="html">&lt;p&gt;Halw: Directed ECMA reference to ECMA Implementation page vs. ECMA Category, add note of explanation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Contributing to open-source EiffelStudio==&lt;br /&gt;
Now that you have [[Spread_the_word|spread the word]] about Eiffel, you feel the urge to contribute to the product itself. There are many ways to help develop EiffelStudio through projects large and small. Check the list of open projects below; if you see one of interest, contact the project members as listed on the corresponding project page. Don't forget to subscribe to the Eiffel developers list (see the [[Mailing_Lists|the mailing lists page]]) where you can post questions about past, current and possible projects.&lt;br /&gt;
&lt;br /&gt;
If you feel none of the current projects covers your special interest, see below how to [[#Adding_your_own_project|add your own project]].&lt;br /&gt;
&lt;br /&gt;
Whatever your contribution, remember that Eiffel is also about style. Make sure you are familiar with the [[Design_and_coding_rules|design and coding rules]] and apply them thoroughly.&lt;br /&gt;
&lt;br /&gt;
'''Note to author of projects''' available from this page: please make sure the project description is up to date and in particular that '''the project members are listed''' and reachable; that's the best way to gain more collaborators. If the project is no longer active please move the entry to [[#Projects_to_be_started_or_restarted|projects to be started or restarted]] section so that someone else may pick it up.&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Libraries (other than EiffelVision) ==&lt;br /&gt;
&lt;br /&gt;
Eiffel is all about reuse of quality components. The best way to get started as an Eiffel contributor is to extend an existing library, or start a new one to fill a need.&lt;br /&gt;
&lt;br /&gt;
EiffelVision-related developments appear under [[#Graphics_and_user_interface|graphics and user interface]].&lt;br /&gt;
* [[Eiffel_NXT | Eiffel LEGO NXT Commumication Library and EiffelStudio Integration]]&lt;br /&gt;
::Remote communication with LEGO NXT Mindstorms &amp;quot;bricks&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Language and compiler ==&lt;br /&gt;
This is the heart of the Eiffel environment: providing the best possible implementation of the Eiffel language. See the [[:Category:Compiler|compiler pages]] for detailed information about EiffelStudio's compiling techniques including the Melting Ice Technology.&lt;br /&gt;
* [[ECMA Implementation|Full ISO/ECMA support]]&lt;br /&gt;
::The Eiffel standard developed by the ECMA TC39-TG4 committee and approved in 2006 by the International Standards Organization is the definitive reference on the Eiffel language. Work is progressing quickly to include all ECMA-ISO mechanisms into the EiffelStudio compiler; you can help fill the remaining gaps. &lt;br /&gt;
&lt;br /&gt;
{{note|On this site you will also find a [[:Category:ECMA|category]] for ECMA pages in which many proposals and other topics are discussed, but are not necessarily approved by the ECMA committee.}}&lt;br /&gt;
&lt;br /&gt;
== General environment mechanisms ==&lt;br /&gt;
There are always new ideas to improve the user experience with EiffelStudio.&lt;br /&gt;
&lt;br /&gt;
* [[AutoTest_Integration|Integrating AutoTest into EiffelStudio]]&lt;br /&gt;
::[http://se.ethz.ch/research/autotest/ AutoTest] is an automated testing framework taking advantage of Eiffel's Design by Contract to provide far more automation than current solutions such as JUnit. Currently it is a separate tool; ideally it should be part of EiffelStudio.&lt;br /&gt;
* [[Advanced Class and Feature Wizard| Advanced class and feature wizard ]]&lt;br /&gt;
::Improve ease of use, for both novice and advanced users, by refining the tools that create classes and features from templates.&lt;br /&gt;
*[[Editor|Editor]]&lt;br /&gt;
::Improve the EiffelStudio built-in smart editor.&lt;br /&gt;
* [[Refactoring|More refactoring mechanisms]]&lt;br /&gt;
::While Eiffel doesn't need some of the refactoring mechanisms of other languages, the environment could benefit from new refactoring mechanisms in addition to the ones currently supported.&lt;br /&gt;
* [[Eiffel_Mutation_Testing_Tool| Eiffel Mutation Testing Tool]]&lt;br /&gt;
::Build a high-quality mutation testing tool (for evaluating the quality of test strategies, fault detectability and redundancy) taking advantage of Eiffel's mechanisms, especially Design by Contract.&lt;br /&gt;
&lt;br /&gt;
{{Note| For tool development check out the [[Tool Integration Development]] page for a quick tutorial on how to integrate a tool window in EiffelStudio.}}&lt;br /&gt;
&lt;br /&gt;
== Graphics and user interface ==&lt;br /&gt;
Make the user interface of EiffelStudio more appealing. Much of the work is to be done in the underlying EiffelVision library, with the added benefit that improvements will be available to user applications as well.&lt;br /&gt;
&lt;br /&gt;
*[[Vision2_Accelerator|EiffelVision Accelerators]]&lt;br /&gt;
::More keyboard accelerators for EiffelVision applications.&lt;br /&gt;
*[[EiffelVision_Unicode|Unicode support for EiffelVision]]&lt;br /&gt;
::EiffelVision support for the character set of arbitrary human languages (see also [[Unicode]]).&lt;br /&gt;
*[[EiffelBuild_Integration|EiffelBuild Integration]]&lt;br /&gt;
::The graphical user interface builder, EiffelBuild, is currently a separate product. Ideally it should be completely integrated with EiffelStudio.&lt;br /&gt;
*[[Cocoa_for_EiffelVision2|Cocoa for EiffelVision]]&lt;br /&gt;
::Provide EiffelVision with a Carbon back-end to make it truly native on the Mac.&lt;br /&gt;
* [[Internationalization|EiffelStudio UI for other languages (internationalization)]]&lt;br /&gt;
::EiffelStudio provides support for changing the user interface messages and dialogs to any language. If you are a fluent speaker of a language other than English, you can help the localization into that language.&lt;br /&gt;
&lt;br /&gt;
== Build infrastructure ==&lt;br /&gt;
Developments in this category are intended to help produce new versions of EiffelStudio faster and better.&lt;br /&gt;
&lt;br /&gt;
*[[Build_tool | Build tool]]&lt;br /&gt;
::Simplify and streamline the EiffelStudio build process.&lt;br /&gt;
*[[Debian_packages | Debian packages]]&lt;br /&gt;
::Include EiffelStudio in standard Debian installation&lt;br /&gt;
*[[OSX_release_infrastructure|OSX release infrastructure]]&lt;br /&gt;
::Script the release of Mac universal binaries for OS X&lt;br /&gt;
&lt;br /&gt;
== Other Stuff ==&lt;br /&gt;
&lt;br /&gt;
* [[ESTeaching | Eiffel Studio for Teaching]]&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
Developing is not everything; the results must also be tested for functionality and performance. The EiffelStudio testing process is completely open and follows advanced software engineering standard. Please visit the special [[:Category:Testing|category devoted to EiffelStudio testing]].&lt;br /&gt;
&lt;br /&gt;
== Projects to be started or restarted ==&lt;br /&gt;
The projects in this list are mere ideas which may not yet have a project page. Some of them were started but not completed. Feel free to take over! If you do so, move the project to one of the above sections (compiler, libraries etc.). If you have further suggestions you may include them here.&lt;br /&gt;
* [[EiffelStudio_Wish_List|EiffelStudio Wish List]]&lt;br /&gt;
::Not really the description of a single project, but a collection of ideas of cool things to add to EiffelStudio. Feel free to add to it.&lt;br /&gt;
* [[Compilation_Without_Configuration|Compilation without configuration]]&lt;br /&gt;
::A mechanism to compile classes without providing a control file.&lt;br /&gt;
* [[Wish CHARACTER 16|CHARACTER 16]]&lt;br /&gt;
::A request for a new basic type.&lt;br /&gt;
*[[Component_standards| Standards and tools for Eiffel-based components]]&lt;br /&gt;
::Develop a standard for distributing Eiffel components in binary form, and implement it&lt;br /&gt;
* [[Unicode|Unicode support improvement]]&lt;br /&gt;
::Improve support for character sets of arbitrary human languages. See also [[EiffelVision_Unicode|EiffelVision Unicode support]].&lt;br /&gt;
* [[New_ports|Porting to new platforms (OSX Intel, OpenBSD)]]&lt;br /&gt;
::Eiffel is highly portable; a port to a new platform is a moderate effort.&lt;br /&gt;
* [[IDE|IDE improvements]]&lt;br /&gt;
::This should be replaced by more specific goals, see [[#General_environment_mechanisms|general environment mechanisms]] above.&lt;br /&gt;
* [[Extended_static_checking|Extended static checking]]&lt;br /&gt;
::See e.g. ESC-Java, Spec#...&lt;br /&gt;
* [[Code_checking|Direct code checking (red squiggly lines)]]&lt;br /&gt;
::More user-friendly error &amp;quot;non-messages&amp;quot;, following the lead of spelling error reporting in MS Word&lt;br /&gt;
* [[Learning|Integrated learning support]]&lt;br /&gt;
::Support for total beginners&lt;br /&gt;
* [[Macros|Editor macro recording and playback]]&lt;br /&gt;
::Give EiffelStudio, in particular the editor, a macro facility&lt;br /&gt;
* [[Editor_breakpoints|Inserting and navigation of editor breakpoints]]&lt;br /&gt;
::Add breakpoints to the editor for better navigation&lt;br /&gt;
* [[EMU| Eiffel Multi User]]&lt;br /&gt;
::Integrate a repository mechanism&lt;br /&gt;
* [[Trace_points|Adding trace points]]&lt;br /&gt;
:: Output a trace statement indicating a trace point has been hit, without the need to write code or stop execution&lt;br /&gt;
* [[Update_notification|Update notification]]&lt;br /&gt;
::An update notification service to let developers know there is a new version available.&lt;br /&gt;
* [[Configuration_management|Integrated support for configuration management]]&lt;br /&gt;
::Integrate configuration management into EiffelStudio.&lt;br /&gt;
*[[Scintilla_component| Multiplatform editor component: Scintilla]]&lt;br /&gt;
::Encapsulate Scintilla multi-platform editor&lt;br /&gt;
*[[Gecko_component| Multiplatform layout engine component: Mozilla/Gecko]]&lt;br /&gt;
::Encapsulate Gecko html multi-platform engine component&lt;br /&gt;
&lt;br /&gt;
== Completed projects ==&lt;br /&gt;
&lt;br /&gt;
== Adding your own project ==&lt;br /&gt;
To add your own project:&lt;br /&gt;
*Make sure it is not redundant with one of the existing projects. If there is any chance of duplication, please contact the project authors first.&lt;br /&gt;
*If you have not already done so, subscribe to the developers' mailing list (see the [[Mailing_Lists|the mailing lists page]]). Post a message to the list explaining your idea and asking for feedback.&lt;br /&gt;
*Also check the above [[#Projects_to_be_started_or_restarted|list of &amp;quot;projects to be started or restarted&amp;quot;]], in particular the [[EiffelStudio_Wish_List|EiffelStudio Wish List]]. Some of the pages are just stubs, but others already have a detailed analysis which can serve as a framework for future work on the corresponding features.&lt;br /&gt;
*If you decide to go forward, create a page about your project, listing the goals of the project, the rationale (why is this useful?), the issues to be solved, the overall techniques proposed, and a general development strategy. Make sure to include a &amp;quot;project members&amp;quot; section so that people can contact you (for example through your user name on this Wiki).&lt;br /&gt;
*Edit the present page so that it includes a link to your project page; select the appropriate category. Below the link, include (as in current entries) a one- or two-line summary of the project's goal.&lt;br /&gt;
*Do it!&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Spread_the_word|Spread the word]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Contributions]]&lt;/div&gt;</summary>
		<author><name>Halw</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Void-Safe_Library_Status&amp;diff=12417</id>
		<title>Void-Safe Library Status</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Void-Safe_Library_Status&amp;diff=12417"/>
				<updated>2009-03-13T13:00:20Z</updated>
		
		<summary type="html">&lt;p&gt;Halw: /* Rules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]&lt;br /&gt;
&lt;br /&gt;
During the [[:Category:EiffelStudio|EiffelStudio]] [[EiffelStudio 6.4 Releases|6.4]] development cycle Eiffel Software and any willing third-party contributors are updating the Eiffel stock [[:Category:Library|libraries]] to be Void-Safe. The libraries will still compile in non-Void-Safe contexts so your code will not be broken. The status reflects work completed so you may start migrating your own code to ensure Void-safety.&lt;br /&gt;
&lt;br /&gt;
Make sure to follow the general rules given below, and ask the community for guidance if you run into any problems or uncertainties.&lt;br /&gt;
&lt;br /&gt;
== Completion Status ==&lt;br /&gt;
&lt;br /&gt;
To better hightlight the usefulness of the void-safety mechanism, we have put together a [[Void-Safe_Library_Results|non-exhaustive list]] of bugs found during the conversion process.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;200&amp;quot;|Library Name&lt;br /&gt;
! width=&amp;quot;250&amp;quot;|Status&lt;br /&gt;
! width=&amp;quot;200&amp;quot;|Credits&lt;br /&gt;
|-&lt;br /&gt;
| EiffelBase&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software&lt;br /&gt;
|-&lt;br /&gt;
| EiffelBase extension&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software (Larry)&lt;br /&gt;
|-&lt;br /&gt;
| EiffelTime&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software (Ted, Ian)&lt;br /&gt;
|-&lt;br /&gt;
| EiffelThread&lt;br /&gt;
| Done (classic)&lt;br /&gt;
| Eiffel Software (Arno)&lt;br /&gt;
|-&lt;br /&gt;
| EiffelUUID&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software ([[User:paulb|Paul]])&lt;br /&gt;
|-&lt;br /&gt;
| Eiffel2Java&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software (Ted, Ian)&lt;br /&gt;
|-&lt;br /&gt;
| WEL&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software (Manu)&lt;br /&gt;
|-&lt;br /&gt;
| EiffelVision2&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| EiffelVision2 extension&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| EiffelProcess&lt;br /&gt;
| Done (classic)&lt;br /&gt;
| Eiffel Software (Arno)&lt;br /&gt;
|-&lt;br /&gt;
| Argument parser&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software ([[User:paulb|Paul]])&lt;br /&gt;
|-&lt;br /&gt;
| EiffelLex&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software ([[User:paulb|Paul]])&lt;br /&gt;
|-&lt;br /&gt;
| EiffelParse&lt;br /&gt;
| In progress&lt;br /&gt;
| Eiffel Software (Ted, Ian)&lt;br /&gt;
|-&lt;br /&gt;
| EiffelNet&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software (Manu)&lt;br /&gt;
|-&lt;br /&gt;
| EiffelNet IPv6&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software (Manu)&lt;br /&gt;
|-&lt;br /&gt;
| EiffelCurl&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software (Manu)&lt;br /&gt;
|-&lt;br /&gt;
| Encoding&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software (Ted, Ian)&lt;br /&gt;
|-&lt;br /&gt;
| EiffelCOM&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| EiffelStore&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| EiffelTesting&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software (Arno)&lt;br /&gt;
|-&lt;br /&gt;
| EiffelWeb&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software (Manu)&lt;br /&gt;
|-&lt;br /&gt;
| Gobo&lt;br /&gt;
| In progress &amp;lt;br&amp;gt; - kernel (done)&lt;br /&gt;
| Eiffel Software ([[User:jfiat|Jocelyn]],Larry) + GoboSoft (Eric)&lt;br /&gt;
|-&lt;br /&gt;
| Docking&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Gobo extension&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software ([[User:jfiat|Jocelyn]])&lt;br /&gt;
|-&lt;br /&gt;
| EiffelGraph&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Memory Analyzer&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| EiffelPreferences&lt;br /&gt;
| Batch done, Remaining Graphical part.&lt;br /&gt;
| Eiffel Software ([[User:jfiat|Jocelyn]])&lt;br /&gt;
|-&lt;br /&gt;
| Diff&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software ([[User:paulb|Paul]])&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Contributing ==&lt;br /&gt;
EiffelStudio is open source and welcomes the Eiffel community contributions to speed up the adaptation process. If you are interested in participating please put a comment on the discussion board with your contact details.&lt;br /&gt;
&lt;br /&gt;
==Rules to be applied ==&lt;br /&gt;
&lt;br /&gt;
Please observe the following guidelines carefully to guarantee a quality result.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
For examples of libraries already adapted, see UUID (for a small example) and EiffelBase (for a larger one).&lt;br /&gt;
&lt;br /&gt;
=== Overall process === &lt;br /&gt;
&lt;br /&gt;
# First compile with the `full_class_checking' option on. Then enable the void-safe option.&lt;br /&gt;
# Compile libraries on all of Windows/.NET/Unix to ensure it is sound.&lt;br /&gt;
# Minimize modifications; types should be attached by default if it makes sense, otherwise it has to be detachable by default.&lt;br /&gt;
# Use the convention library-safe.ecf for naming void-safe libraries for now. All library references should be using the -safe.ecf variants.&lt;br /&gt;
# Use the same UUIDs for void-safe and non-void-safe libraries.&lt;br /&gt;
# Before any modifications add a library.lic and library-safe.lic (replace library with the name of the ECF minus the .ecf extension) next to the ECFs of the same name containing only the single line reference:forum2.&lt;br /&gt;
# Update all samples to use the void-safe ecfs and update them.&lt;br /&gt;
&lt;br /&gt;
=== Rules ===&lt;br /&gt;
# DO NOT USE '''!''' (attached mark).&lt;br /&gt;
# MINIMIZE USE OF OBJECT TEST; ideally, don't use object test unless there was an assignment attempt in the original library.&lt;br /&gt;
# When a precondition expects a Void argument, use '''?''' if attached by default.&lt;br /&gt;
# When a precondition expects a non-Void argument, use '''!''' if detachable by default.&lt;br /&gt;
# Libraries should compile in both void-safe and non-void-safe mode.&lt;br /&gt;
# Only use the '''attribute''' keyword when it is impossible to initialize an attribute in the creation procedure. Never use it for lazy evaluation.&lt;br /&gt;
# You may include preconditions x /= Void, but it will have to be removed in the end (helped by a compiler warning that says this is not needed for attached x).&lt;br /&gt;
&lt;br /&gt;
=== General cleanup ===&lt;br /&gt;
The void-safe adaptation process should be accompanied by a general upgrade to ISO/ECMA Eiffel:&lt;br /&gt;
&lt;br /&gt;
* Remove uses of is_equal and equal to compare objects. (They can cause catcalls.) Replace them with the tilde operator, i.e. a ~ b instead of equal (a, b) or a.is_equal (b). Be careful to preserve the semantics (~ always returns false in the case of non-identical types).&lt;br /&gt;
* Replace the '''indexing''' keyword with '''note'''.&lt;br /&gt;
* Remove the '''is''' keyword in routines. Use the Replace tool with the regex '''\ is[ \t]*$'''. (Be careful not to use replace all, because comments and multi-line strings may have &amp;quot;is&amp;quot; text!)&lt;br /&gt;
* Replace the '''is''' keyword in constants with '''='''.&lt;br /&gt;
&lt;br /&gt;
=== Test authoring ===&lt;br /&gt;
1. Create a cluster called 'tests' in the library root folder. E.g., for the UUID library the 'tests' folder exists at '$ISE_LIBRARY/uuid/tests'.&lt;br /&gt;
&lt;br /&gt;
2. In the library ECFs, exclude the 'tests' cluster because it contains testing code and not library code.&lt;br /&gt;
&lt;br /&gt;
3. Add a testing 'tests.ecf' in the 'tests' folder. (See the UUID library for an example ECF.) Be sure to create a library ECF and change the UUID. The library should also use the void-safe options found in the associated library's ECF.&lt;br /&gt;
&lt;br /&gt;
4. Create test class names using the library name along with TEST as a prefix:&lt;br /&gt;
    EiffelBase = BASE_TEST_&lt;br /&gt;
    EiffelThread = THREAD_TEST_&lt;br /&gt;
    EiffelVision2 = EV_TEST_ or VISION2_TEST_&lt;br /&gt;
&lt;br /&gt;
=== Improving this page === &lt;br /&gt;
&lt;br /&gt;
As you encounter problems and devise your solutions, please include the results of your experience here.&lt;/div&gt;</summary>
		<author><name>Halw</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Void-Safe_Library_Status&amp;diff=12416</id>
		<title>Void-Safe Library Status</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Void-Safe_Library_Status&amp;diff=12416"/>
				<updated>2009-03-13T12:59:38Z</updated>
		
		<summary type="html">&lt;p&gt;Halw: /* Overall process */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]&lt;br /&gt;
&lt;br /&gt;
During the [[:Category:EiffelStudio|EiffelStudio]] [[EiffelStudio 6.4 Releases|6.4]] development cycle Eiffel Software and any willing third-party contributors are updating the Eiffel stock [[:Category:Library|libraries]] to be Void-Safe. The libraries will still compile in non-Void-Safe contexts so your code will not be broken. The status reflects work completed so you may start migrating your own code to ensure Void-safety.&lt;br /&gt;
&lt;br /&gt;
Make sure to follow the general rules given below, and ask the community for guidance if you run into any problems or uncertainties.&lt;br /&gt;
&lt;br /&gt;
== Completion Status ==&lt;br /&gt;
&lt;br /&gt;
To better hightlight the usefulness of the void-safety mechanism, we have put together a [[Void-Safe_Library_Results|non-exhaustive list]] of bugs found during the conversion process.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;200&amp;quot;|Library Name&lt;br /&gt;
! width=&amp;quot;250&amp;quot;|Status&lt;br /&gt;
! width=&amp;quot;200&amp;quot;|Credits&lt;br /&gt;
|-&lt;br /&gt;
| EiffelBase&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software&lt;br /&gt;
|-&lt;br /&gt;
| EiffelBase extension&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software (Larry)&lt;br /&gt;
|-&lt;br /&gt;
| EiffelTime&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software (Ted, Ian)&lt;br /&gt;
|-&lt;br /&gt;
| EiffelThread&lt;br /&gt;
| Done (classic)&lt;br /&gt;
| Eiffel Software (Arno)&lt;br /&gt;
|-&lt;br /&gt;
| EiffelUUID&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software ([[User:paulb|Paul]])&lt;br /&gt;
|-&lt;br /&gt;
| Eiffel2Java&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software (Ted, Ian)&lt;br /&gt;
|-&lt;br /&gt;
| WEL&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software (Manu)&lt;br /&gt;
|-&lt;br /&gt;
| EiffelVision2&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| EiffelVision2 extension&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| EiffelProcess&lt;br /&gt;
| Done (classic)&lt;br /&gt;
| Eiffel Software (Arno)&lt;br /&gt;
|-&lt;br /&gt;
| Argument parser&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software ([[User:paulb|Paul]])&lt;br /&gt;
|-&lt;br /&gt;
| EiffelLex&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software ([[User:paulb|Paul]])&lt;br /&gt;
|-&lt;br /&gt;
| EiffelParse&lt;br /&gt;
| In progress&lt;br /&gt;
| Eiffel Software (Ted, Ian)&lt;br /&gt;
|-&lt;br /&gt;
| EiffelNet&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software (Manu)&lt;br /&gt;
|-&lt;br /&gt;
| EiffelNet IPv6&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software (Manu)&lt;br /&gt;
|-&lt;br /&gt;
| EiffelCurl&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software (Manu)&lt;br /&gt;
|-&lt;br /&gt;
| Encoding&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software (Ted, Ian)&lt;br /&gt;
|-&lt;br /&gt;
| EiffelCOM&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| EiffelStore&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| EiffelTesting&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software (Arno)&lt;br /&gt;
|-&lt;br /&gt;
| EiffelWeb&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software (Manu)&lt;br /&gt;
|-&lt;br /&gt;
| Gobo&lt;br /&gt;
| In progress &amp;lt;br&amp;gt; - kernel (done)&lt;br /&gt;
| Eiffel Software ([[User:jfiat|Jocelyn]],Larry) + GoboSoft (Eric)&lt;br /&gt;
|-&lt;br /&gt;
| Docking&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Gobo extension&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software ([[User:jfiat|Jocelyn]])&lt;br /&gt;
|-&lt;br /&gt;
| EiffelGraph&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Memory Analyzer&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| EiffelPreferences&lt;br /&gt;
| Batch done, Remaining Graphical part.&lt;br /&gt;
| Eiffel Software ([[User:jfiat|Jocelyn]])&lt;br /&gt;
|-&lt;br /&gt;
| Diff&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software ([[User:paulb|Paul]])&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Contributing ==&lt;br /&gt;
EiffelStudio is open source and welcomes the Eiffel community contributions to speed up the adaptation process. If you are interested in participating please put a comment on the discussion board with your contact details.&lt;br /&gt;
&lt;br /&gt;
==Rules to be applied ==&lt;br /&gt;
&lt;br /&gt;
Please observe the following guidelines carefully to guarantee a quality result.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
For examples of libraries already adapted, see UUID (for a small example) and EiffelBase (for a larger one).&lt;br /&gt;
&lt;br /&gt;
=== Overall process === &lt;br /&gt;
&lt;br /&gt;
# First compile with the `full_class_checking' option on. Then enable the void-safe option.&lt;br /&gt;
# Compile libraries on all of Windows/.NET/Unix to ensure it is sound.&lt;br /&gt;
# Minimize modifications; types should be attached by default if it makes sense, otherwise it has to be detachable by default.&lt;br /&gt;
# Use the convention library-safe.ecf for naming void-safe libraries for now. All library references should be using the -safe.ecf variants.&lt;br /&gt;
# Use the same UUIDs for void-safe and non-void-safe libraries.&lt;br /&gt;
# Before any modifications add a library.lic and library-safe.lic (replace library with the name of the ECF minus the .ecf extension) next to the ECFs of the same name containing only the single line reference:forum2.&lt;br /&gt;
# Update all samples to use the void-safe ecfs and update them.&lt;br /&gt;
&lt;br /&gt;
=== Rules ===&lt;br /&gt;
* DO NOT USE '''!''' (attached mark).&lt;br /&gt;
* MINIMIZE USE OF OBJECT TEST; ideally, don't use object test unless there was an assignment attempt in the original library.&lt;br /&gt;
* When a precondition expects a Void argument, use '''?''' if attached by default.&lt;br /&gt;
* When a precondition expects a non-Void argument, use '''!''' if detachable by default.&lt;br /&gt;
* Libraries should compile in both void-safe and non-void-safe mode.&lt;br /&gt;
* Only use the '''attribute''' keyword when it is impossible to initialize an attribute in the creation procedure. Never use it for lazy evaluation.&lt;br /&gt;
* You may include preconditions x /= Void, but it will have to be removed in the end (helped by a compiler warning that says this is not needed for attached x).&lt;br /&gt;
&lt;br /&gt;
=== General cleanup ===&lt;br /&gt;
The void-safe adaptation process should be accompanied by a general upgrade to ISO/ECMA Eiffel:&lt;br /&gt;
&lt;br /&gt;
* Remove uses of is_equal and equal to compare objects. (They can cause catcalls.) Replace them with the tilde operator, i.e. a ~ b instead of equal (a, b) or a.is_equal (b). Be careful to preserve the semantics (~ always returns false in the case of non-identical types).&lt;br /&gt;
* Replace the '''indexing''' keyword with '''note'''.&lt;br /&gt;
* Remove the '''is''' keyword in routines. Use the Replace tool with the regex '''\ is[ \t]*$'''. (Be careful not to use replace all, because comments and multi-line strings may have &amp;quot;is&amp;quot; text!)&lt;br /&gt;
* Replace the '''is''' keyword in constants with '''='''.&lt;br /&gt;
&lt;br /&gt;
=== Test authoring ===&lt;br /&gt;
1. Create a cluster called 'tests' in the library root folder. E.g., for the UUID library the 'tests' folder exists at '$ISE_LIBRARY/uuid/tests'.&lt;br /&gt;
&lt;br /&gt;
2. In the library ECFs, exclude the 'tests' cluster because it contains testing code and not library code.&lt;br /&gt;
&lt;br /&gt;
3. Add a testing 'tests.ecf' in the 'tests' folder. (See the UUID library for an example ECF.) Be sure to create a library ECF and change the UUID. The library should also use the void-safe options found in the associated library's ECF.&lt;br /&gt;
&lt;br /&gt;
4. Create test class names using the library name along with TEST as a prefix:&lt;br /&gt;
    EiffelBase = BASE_TEST_&lt;br /&gt;
    EiffelThread = THREAD_TEST_&lt;br /&gt;
    EiffelVision2 = EV_TEST_ or VISION2_TEST_&lt;br /&gt;
&lt;br /&gt;
=== Improving this page === &lt;br /&gt;
&lt;br /&gt;
As you encounter problems and devise your solutions, please include the results of your experience here.&lt;/div&gt;</summary>
		<author><name>Halw</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Void-Safe_Library_Status&amp;diff=12415</id>
		<title>Void-Safe Library Status</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Void-Safe_Library_Status&amp;diff=12415"/>
				<updated>2009-03-13T12:45:00Z</updated>
		
		<summary type="html">&lt;p&gt;Halw: /* Overall process */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]&lt;br /&gt;
&lt;br /&gt;
During the [[:Category:EiffelStudio|EiffelStudio]] [[EiffelStudio 6.4 Releases|6.4]] development cycle Eiffel Software and any willing third-party contributors are updating the Eiffel stock [[:Category:Library|libraries]] to be Void-Safe. The libraries will still compile in non-Void-Safe contexts so your code will not be broken. The status reflects work completed so you may start migrating your own code to ensure Void-safety.&lt;br /&gt;
&lt;br /&gt;
Make sure to follow the general rules given below, and ask the community for guidance if you run into any problems or uncertainties.&lt;br /&gt;
&lt;br /&gt;
== Completion Status ==&lt;br /&gt;
&lt;br /&gt;
To better hightlight the usefulness of the void-safety mechanism, we have put together a [[Void-Safe_Library_Results|non-exhaustive list]] of bugs found during the conversion process.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;200&amp;quot;|Library Name&lt;br /&gt;
! width=&amp;quot;250&amp;quot;|Status&lt;br /&gt;
! width=&amp;quot;200&amp;quot;|Credits&lt;br /&gt;
|-&lt;br /&gt;
| EiffelBase&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software&lt;br /&gt;
|-&lt;br /&gt;
| EiffelBase extension&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software (Larry)&lt;br /&gt;
|-&lt;br /&gt;
| EiffelTime&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software (Ted, Ian)&lt;br /&gt;
|-&lt;br /&gt;
| EiffelThread&lt;br /&gt;
| Done (classic)&lt;br /&gt;
| Eiffel Software (Arno)&lt;br /&gt;
|-&lt;br /&gt;
| EiffelUUID&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software ([[User:paulb|Paul]])&lt;br /&gt;
|-&lt;br /&gt;
| Eiffel2Java&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software (Ted, Ian)&lt;br /&gt;
|-&lt;br /&gt;
| WEL&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software (Manu)&lt;br /&gt;
|-&lt;br /&gt;
| EiffelVision2&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| EiffelVision2 extension&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| EiffelProcess&lt;br /&gt;
| Done (classic)&lt;br /&gt;
| Eiffel Software (Arno)&lt;br /&gt;
|-&lt;br /&gt;
| Argument parser&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software ([[User:paulb|Paul]])&lt;br /&gt;
|-&lt;br /&gt;
| EiffelLex&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software ([[User:paulb|Paul]])&lt;br /&gt;
|-&lt;br /&gt;
| EiffelParse&lt;br /&gt;
| In progress&lt;br /&gt;
| Eiffel Software (Ted, Ian)&lt;br /&gt;
|-&lt;br /&gt;
| EiffelNet&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software (Manu)&lt;br /&gt;
|-&lt;br /&gt;
| EiffelNet IPv6&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software (Manu)&lt;br /&gt;
|-&lt;br /&gt;
| EiffelCurl&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software (Manu)&lt;br /&gt;
|-&lt;br /&gt;
| Encoding&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software (Ted, Ian)&lt;br /&gt;
|-&lt;br /&gt;
| EiffelCOM&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| EiffelStore&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| EiffelTesting&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software (Arno)&lt;br /&gt;
|-&lt;br /&gt;
| EiffelWeb&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software (Manu)&lt;br /&gt;
|-&lt;br /&gt;
| Gobo&lt;br /&gt;
| In progress &amp;lt;br&amp;gt; - kernel (done)&lt;br /&gt;
| Eiffel Software ([[User:jfiat|Jocelyn]],Larry) + GoboSoft (Eric)&lt;br /&gt;
|-&lt;br /&gt;
| Docking&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Gobo extension&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software ([[User:jfiat|Jocelyn]])&lt;br /&gt;
|-&lt;br /&gt;
| EiffelGraph&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Memory Analyzer&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| EiffelPreferences&lt;br /&gt;
| Batch done, Remaining Graphical part.&lt;br /&gt;
| Eiffel Software ([[User:jfiat|Jocelyn]])&lt;br /&gt;
|-&lt;br /&gt;
| Diff&lt;br /&gt;
| Done&lt;br /&gt;
| Eiffel Software ([[User:paulb|Paul]])&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Contributing ==&lt;br /&gt;
EiffelStudio is open source and welcomes the Eiffel community contributions to speed up the adaptation process. If you are interested in participating please put a comment on the discussion board with your contact details.&lt;br /&gt;
&lt;br /&gt;
==Rules to be applied ==&lt;br /&gt;
&lt;br /&gt;
Please observe the following guidelines carefully to guarantee a quality result.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
For examples of libraries already adapted, see UUID (for a small example) and EiffelBase (for a larger one).&lt;br /&gt;
&lt;br /&gt;
=== Overall process === &lt;br /&gt;
&lt;br /&gt;
# First compile with the `full_class_checking' option on. Then enable the void-safe option.&lt;br /&gt;
# Compile libraries on all of Windows/.NET/Unix to ensure it is sound.&lt;br /&gt;
&lt;br /&gt;
# Minimize modifications; types should be attached by default if it makes sense, otherwise it has to be detachable by default.&lt;br /&gt;
# Use the convention library-safe.ecf for naming void-safe libraries for now. All library references should be using the -safe.ecf variants.&lt;br /&gt;
# Use the same UUIDs for void-safe and non-void-safe libraries.&lt;br /&gt;
# Before any modifications add a library.lic and library-safe.lic (replace library with the name of the ECF minus the .ecf extension) next to the ECFs of the same name containing only the single line reference:forum2.&lt;br /&gt;
# Update all samples to use the void-safe ecfs and update them.&lt;br /&gt;
&lt;br /&gt;
=== Rules ===&lt;br /&gt;
* DO NOT USE '''!''' (attached mark).&lt;br /&gt;
* MINIMIZE USE OF OBJECT TEST; ideally, don't use object test unless there was an assignment attempt in the original library.&lt;br /&gt;
* When a precondition expects a Void argument, use '''?''' if attached by default.&lt;br /&gt;
* When a precondition expects a non-Void argument, use '''!''' if detachable by default.&lt;br /&gt;
* Libraries should compile in both void-safe and non-void-safe mode.&lt;br /&gt;
* Only use the '''attribute''' keyword when it is impossible to initialize an attribute in the creation procedure. Never use it for lazy evaluation.&lt;br /&gt;
* You may include preconditions x /= Void, but it will have to be removed in the end (helped by a compiler warning that says this is not needed for attached x).&lt;br /&gt;
&lt;br /&gt;
=== General cleanup ===&lt;br /&gt;
The void-safe adaptation process should be accompanied by a general upgrade to ISO/ECMA Eiffel:&lt;br /&gt;
&lt;br /&gt;
* Remove uses of is_equal and equal to compare objects. (They can cause catcalls.) Replace them with the tilde operator, i.e. a ~ b instead of equal (a, b) or a.is_equal (b). Be careful to preserve the semantics (~ always returns false in the case of non-identical types).&lt;br /&gt;
* Replace the '''indexing''' keyword with '''note'''.&lt;br /&gt;
* Remove the '''is''' keyword in routines. Use the Replace tool with the regex '''\ is[ \t]*$'''. (Be careful not to use replace all, because comments and multi-line strings may have &amp;quot;is&amp;quot; text!)&lt;br /&gt;
* Replace the '''is''' keyword in constants with '''='''.&lt;br /&gt;
&lt;br /&gt;
=== Test authoring ===&lt;br /&gt;
1. Create a cluster called 'tests' in the library root folder. E.g., for the UUID library the 'tests' folder exists at '$ISE_LIBRARY/uuid/tests'.&lt;br /&gt;
&lt;br /&gt;
2. In the library ECFs, exclude the 'tests' cluster because it contains testing code and not library code.&lt;br /&gt;
&lt;br /&gt;
3. Add a testing 'tests.ecf' in the 'tests' folder. (See the UUID library for an example ECF.) Be sure to create a library ECF and change the UUID. The library should also use the void-safe options found in the associated library's ECF.&lt;br /&gt;
&lt;br /&gt;
4. Create test class names using the library name along with TEST as a prefix:&lt;br /&gt;
    EiffelBase = BASE_TEST_&lt;br /&gt;
    EiffelThread = THREAD_TEST_&lt;br /&gt;
    EiffelVision2 = EV_TEST_ or VISION2_TEST_&lt;br /&gt;
&lt;br /&gt;
=== Improving this page === &lt;br /&gt;
&lt;br /&gt;
As you encounter problems and devise your solutions, please include the results of your experience here.&lt;/div&gt;</summary>
		<author><name>Halw</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio:_an_EiffelSoftware_project:About&amp;diff=11852</id>
		<title>EiffelStudio: an EiffelSoftware project:About</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio:_an_EiffelSoftware_project:About&amp;diff=11852"/>
				<updated>2008-12-27T14:57:31Z</updated>
		
		<summary type="html">&lt;p&gt;Halw: Corrected Eiffel Software company name&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the home page and Wiki of the EiffelStudio IDE open-source project. EiffelStudio is a full-featured, commercial grade IDE for the [http://en.wikipedia.org/wiki/Eiffel_programming_language Eiffel programming language]. It is maintained and developed by [http://www.eiffel.com  Eiffel Software] and hosted at the [http://se.inf.ethz.ch/ Chair of Software Engineering] at the [http://www.ethz.ch/ ETH Zurich].&lt;/div&gt;</summary>
		<author><name>Halw</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Eiffel_Sites_and_Links&amp;diff=11851</id>
		<title>Eiffel Sites and Links</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Eiffel_Sites_and_Links&amp;diff=11851"/>
				<updated>2008-12-27T14:54:02Z</updated>
		
		<summary type="html">&lt;p&gt;Halw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:General]]&lt;br /&gt;
On this page, we would like to capture important resources on the internet concerning Eiffel. Please feel free to add you own links and to remove not-working links. Please always add a small description.&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.eiffel.com/ Eiffel Software], the company behind EiffelStudio and major developer of the compiler and the IDE.&lt;br /&gt;
* [http://www.gobosoft.com/ GOBO tool chain and libraries], a project to create a high-quality and portable set of libraries for Eiffel.&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
&lt;br /&gt;
* [http://eiffelzone.com/esd/index.html Eiffel Software Directory], a well-maintained directory of libraries for all Eiffel compilers. The first address to browse to if you are looking for some functionality that you do not want to implement youself.&lt;br /&gt;
&lt;br /&gt;
== Howtos and Guides ==&lt;br /&gt;
&lt;br /&gt;
* [http://docs.eiffel.com/ Online Eiffel Documentation], user guide and library reference for EiffelStudio.&lt;br /&gt;
* [http://docs.eiffel.com/eiffelstudio/general/guided_tour/ Getting started with the Eiffel method and language], two articles provided by Eiffel Software.&lt;/div&gt;</summary>
		<author><name>Halw</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Collaborative_Documentation_using_Drupal&amp;diff=11634</id>
		<title>Collaborative Documentation using Drupal</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Collaborative_Documentation_using_Drupal&amp;diff=11634"/>
				<updated>2008-09-13T14:10:12Z</updated>
		
		<summary type="html">&lt;p&gt;Halw: Fixed typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{UnderConstruction}}&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
=Plan=&lt;br /&gt;
&lt;br /&gt;
= Things to do=&lt;br /&gt;
== Import feature==&lt;br /&gt;
Importing content into Drupal's CMS and apply book structure&lt;br /&gt;
*&amp;lt;strike&amp;gt;[C1] Convert previous xmldoc (ISE) content, into importable content for Drupal's CMS  (Wiki based + meta data)&amp;lt;/strike&amp;gt;&lt;br /&gt;
*&amp;lt;strike&amp;gt;[L1] Import this specific format + meta data such as parent's page, page order ...&amp;lt;/strike&amp;gt;&lt;br /&gt;
*[L2] Import documentation of eiffel libraries generated by EiffelStudio&lt;br /&gt;
&lt;br /&gt;
== Export feature==&lt;br /&gt;
Export book's content, in order to be able to import them back. This will also be used to store the documentation into subversion&lt;br /&gt;
*[S1] export to the importable content (Wiki based + meta data)&lt;br /&gt;
*[S2] export to docbook|DITA or similar to generate the PDF output&lt;br /&gt;
&lt;br /&gt;
== CMS feature ==&lt;br /&gt;
*[E1] Wysiwyg editor ... for the wikitext, there is a mediawiki extension based on FCKEditor (try to port it to Drupal)&lt;br /&gt;
*&amp;lt;strike&amp;gt;[E2] resolve the wiki link inside the drupal CMS  (wikitool .. but find a hack to work without unique title ...)&amp;lt;/strike&amp;gt;. &lt;br /&gt;
*[E3] build a dedicated drupal theme for the documentation site&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* About [E2]: For unique title, this is more a hack or workaround, you can have non unique title, but you should avoid.&lt;br /&gt;
* About [E1]: this sounds quite tricky to port FCKeditor/Wikitext to drupal. Tricky .. or long, but we'll see...&lt;br /&gt;
&lt;br /&gt;
= Priority =&lt;br /&gt;
* &amp;lt;strike&amp;gt;C1, L1&amp;lt;/strike&amp;gt;&lt;br /&gt;
* E2&lt;br /&gt;
* S1&lt;br /&gt;
* L2&lt;br /&gt;
&lt;br /&gt;
= Roadmap =&lt;br /&gt;
* ~10 Sept: provide intranet Drupal-CMS to edit the documentation online using wikitext on drupal&lt;br /&gt;
* end of Sept: make this &amp;quot;intranet&amp;quot; site public, thus ... Internet accessible by the Eiffel community. But let's keep quiet on this. Since it will be between alpha and beta quality. Need dedicated theme, better integration with existing Eiffel websites&lt;br /&gt;
* Mid October: Announce, and allow people to become editor if they wish to contribute (they'll have to request this privilege)&lt;br /&gt;
&lt;br /&gt;
== Details == &lt;br /&gt;
* Todo: integrate generated eiffel documentation from EiffelStudio .. (i.e: static html). The way to reference it from drupal is done using [[ref:....|title]] syntax  (interwiki)&lt;br /&gt;
* Todo: customize the site's theme&lt;br /&gt;
* Todo: implement the export to wikitext from Drupal&lt;br /&gt;
* Todo: implement the export to PDF ... or whatever&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Misc =&lt;br /&gt;
* Wikitext syntax: [http://en.wikipedia.org/wiki/Wikipedia:Cheatsheet Cheatsheet]&lt;br /&gt;
* How to edit a wikitext page: http://en.wikipedia.org/wiki/Wikipedia:How_to_edit_a_page&lt;/div&gt;</summary>
		<author><name>Halw</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Candidates_for_FAQs,_Tips,_and_Tricks&amp;diff=11288</id>
		<title>Candidates for FAQs, Tips, and Tricks</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Candidates_for_FAQs,_Tips,_and_Tricks&amp;diff=11288"/>
				<updated>2008-07-07T23:20:56Z</updated>
		
		<summary type="html">&lt;p&gt;Halw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here you will find a list of topics and references which are candidates for inclusion in the category EiffelStudio FAQs, Tips, and Tricks. Feel free to add any topics or links that you think are appropriate or to edit the candidates listed here.&lt;br /&gt;
&lt;br /&gt;
==Protecting Eiffel Objects in the presence of C==&lt;br /&gt;
&lt;br /&gt;
Eiffel objects can become exposed to danger when interfacing with C. This short tutorial helps you understand what you need to know to keep your objects safe.&lt;br /&gt;
&lt;br /&gt;
    [http://www.eiffelroom.com/article/protecting_objects Protecting Objects]&lt;br /&gt;
&lt;br /&gt;
==C/C++ Call and Callback Examples==&lt;br /&gt;
&lt;br /&gt;
Examples of Calls and Callbacks in C and C++&lt;br /&gt;
&lt;br /&gt;
    [http://www.eiffelroom.com/article/c_c_calls_and_callbacks C/C++ calls and callbacks]&lt;br /&gt;
&lt;br /&gt;
==Creating .Net Properties in Eiffel==&lt;br /&gt;
&lt;br /&gt;
When C# and VB.Net programmers work with .Net assemblies, they expect to see .Net properties exposed. But Eiffel does not have explicit support for .Net properties. However it is possible to build Eiffel code that when compiled into an assembly will expose attributes as properties. Here is how it is done:&lt;br /&gt;
&lt;br /&gt;
    [http://www.eiffelroom.com/article/create_net_properties_in_eiffel Create .Net Properties in Eiffel]&lt;br /&gt;
&lt;br /&gt;
==EiffelVision 2 How To's==&lt;br /&gt;
&lt;br /&gt;
Here are the answers to several questions commonly posed by EiffelVision 2 developers:&lt;br /&gt;
&lt;br /&gt;
    [http://www.eiffelroom.com/article/eiffelvision_2_howtos EiffelVision 2 HowTo's]&lt;br /&gt;
&lt;br /&gt;
==Eiffel Image Embedder==&lt;br /&gt;
&lt;br /&gt;
A tool has been developed to allow the embedding of target graphical image files (png, jpg, etc.) directly into an Eiffel executable. This means that the image files no longer have to be included in the application's distribution. See the tool described at:&lt;br /&gt;
&lt;br /&gt;
    [http://www.eiffelroom.com/blog/larryliuming/eiffel_image_embedder_tool Eiffel Image Embedder]&lt;br /&gt;
&lt;br /&gt;
==Object Serialization to a String==&lt;br /&gt;
&lt;br /&gt;
The Serialization cluster provides serialization and deserialization to memory. But the memory in question is a C-style buffer, not an instance of Eiffel class STRING. This short tutorial shows how to use the SED classes to serialize and deserialize Eiffel objects to and from instances of class STRING. &lt;br /&gt;
&lt;br /&gt;
    [http://www.eiffelroom.com/article/serialization_to_string Serialization to string]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:EiffelStudio_FAQs,_Tips,_and_Tricks]]&lt;/div&gt;</summary>
		<author><name>Halw</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Category:EiffelStudio_FAQs,_Tips,_and_Tricks&amp;diff=11270</id>
		<title>Category:EiffelStudio FAQs, Tips, and Tricks</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Category:EiffelStudio_FAQs,_Tips,_and_Tricks&amp;diff=11270"/>
				<updated>2008-06-30T15:49:19Z</updated>
		
		<summary type="html">&lt;p&gt;Halw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pages in this category contain information which may help EiffelStudio users solve problems and acquire techniques that are either not included or not obvious in the standard EiffelStudio documentation.&lt;br /&gt;
&lt;br /&gt;
Here you will find:&lt;br /&gt;
&lt;br /&gt;
*Answers to frequently asked questions. &lt;br /&gt;
*Solutions to situations in which EiffelStudio or your projects exhibit odd behavior. &lt;br /&gt;
*Potential pitfalls and how to avoid them.&lt;br /&gt;
*Secrets of the EiffelStudio masters.&lt;/div&gt;</summary>
		<author><name>Halw</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Category:EiffelStudio_FAQs,_Tips,_and_Tricks&amp;diff=11269</id>
		<title>Category:EiffelStudio FAQs, Tips, and Tricks</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Category:EiffelStudio_FAQs,_Tips,_and_Tricks&amp;diff=11269"/>
				<updated>2008-06-30T15:45:11Z</updated>
		
		<summary type="html">&lt;p&gt;Halw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pages in this category contain information which may help EiffelStudio users solve problems and acquire techniques that may not be included or obvious in the standard EiffelStudio documentation.&lt;br /&gt;
&lt;br /&gt;
Here you will find:&lt;br /&gt;
&lt;br /&gt;
*Answers to frequently asked questions. &lt;br /&gt;
*Solutions to situations in which EiffelStudio or your projects exhibit odd behavior. &lt;br /&gt;
*Potential pitfalls and how to avoid them.&lt;br /&gt;
*Secrets of the EiffelStudio masters.&lt;/div&gt;</summary>
		<author><name>Halw</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Restore_EiffelStudio_Layout&amp;diff=11268</id>
		<title>Restore EiffelStudio Layout</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Restore_EiffelStudio_Layout&amp;diff=11268"/>
				<updated>2008-06-30T15:32:08Z</updated>
		
		<summary type="html">&lt;p&gt;Halw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Problem==&lt;br /&gt;
While using EiffelStudio you may occasionally lose visibility of a tool pane. This can happen if you close the tool pane, either intentionally or inadvertently. It can also happen in the rare case in which the EiffelStudio tool layout becomes corrupt.&lt;br /&gt;
&lt;br /&gt;
==Solution==&lt;br /&gt;
The methods that you can use to restore your lost tool are explained in this article:&lt;br /&gt;
&lt;br /&gt;
    [http://eiffelstudio.origo.ethz.ch/node/34 How-to: restore EiffelStudio's layout]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:EiffelStudio_FAQs,_Tips,_and_Tricks]]&lt;/div&gt;</summary>
		<author><name>Halw</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Reasons_for_using_Eiffel&amp;diff=11265</id>
		<title>Reasons for using Eiffel</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Reasons_for_using_Eiffel&amp;diff=11265"/>
				<updated>2008-06-29T16:23:04Z</updated>
		
		<summary type="html">&lt;p&gt;Halw: /* Reasons for Eiffel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:General]]&lt;br /&gt;
The step away from the main stream of languages is a difficult one. Leaving common ground is worrying. There is always the need to justify unorthodox decisions. This page tries to capture reasons to convince you, your friends, your boss, your client or your grandmother to use Eiffel and EiffelStudio.&lt;br /&gt;
&lt;br /&gt;
You can also read the following articles from Eiffel Software for more reasons:&lt;br /&gt;
* [http://docs.eiffel.com/eiffelstudio/general/guided_tour/other/why_eiffel.html Why your next project should use Eiffel]&lt;br /&gt;
* [http://docs.eiffel.com/eiffelstudio/general/guided_tour/other/one_minute.html 1-Minute Summary]&lt;br /&gt;
&lt;br /&gt;
== Reasons for Eiffel ==&lt;br /&gt;
&lt;br /&gt;
; Eiffel is object-oriented : While you might think that every modern language is calls itself object-oriented, there are very few languages that have the object-oriented paradigm so deeply integrated into the language as in Eiffel. Eiffel was built around object-orientation. Objects just feel right in Eiffel. Contracts make you understand inheritance. Even if you will change to another language later, object-orientation will never be the same to you once you have developed in Eiffel.&lt;br /&gt;
&lt;br /&gt;
; Eiffel is fast : Eiffel compiles to C, which is then directly translated to the machine code of your target platform. With that you can exploit the full speed of your target architecture. Eiffel can be used in embedded environments or on mainframes. Eiffel competes with C and C++ in terms of speed, not with Java or C#.&lt;br /&gt;
&lt;br /&gt;
; Eiffel has a garbage collector : Memory management is very error prone. Detecting memory leaks is a tedious job that can endanger the reliability of the application. Eiffel was designed from the start to be a language that uses garbage collection. That way, developers do not have to free memory explicitly. EiffelStudio offers a fast moving garbage collector.&lt;br /&gt;
&lt;br /&gt;
; Eiffel is mature : Development on Eiffel started in 1985, long before Java (1991) or C# (2001). During more than two decades, Eiffel has been constantly improved and revised.&lt;br /&gt;
&lt;br /&gt;
; Eiffel is standard : Eiffel is standardized by ECMA standard 367, ISO/IEC DIS 25436&lt;br /&gt;
&lt;br /&gt;
; Eiffel is strongly typed : Eiffel offers a static type system. By this, it can detect conceptual errors much easier than with language with a weak or no type system like C++ or Smalltalk.&lt;br /&gt;
&lt;br /&gt;
; Eiffel has powerful constructs : Eiffel offers constructs like generics (somewhat like Templates) and agents (similar to delegates in .Net), constructs that were only recently added to Java 1.5 or C# 2.0. Also, Eiffel has some unique concepts like Design by Contract and full-featured multiple inheritance.&lt;br /&gt;
&lt;br /&gt;
; Eiffel is highly portable : EiffelStudio has been ported to nearly all major operating systems, from Windows, MacOS X, Linux, FreeBSD to VMS. Portable libraries like EiffelVision2 make it possible to write applications for one platform and compile it for any other platform.&lt;br /&gt;
&lt;br /&gt;
; Eiffel is built on 'Design by Contract' : Design by Contract (DbC) is what made Eiffel famous. Using DbC, you can clearly define what your implementation expects from and what it provides to the caller. This behavior is checked at run-time, making it much easier to find bugs. The contracts are also used from documentation and play an important role for inheritance.&lt;br /&gt;
&lt;br /&gt;
; Eiffel has received the ACM Software System award.&lt;br /&gt;
&lt;br /&gt;
== Reasons for EiffelStudio ==&lt;br /&gt;
&lt;br /&gt;
; EiffelStudio is open-source : EiffelStudio has been released under the well-known Gnu Public License, making sure that the source code will be available in the future and giving you the power to read and modify the system if you need.&lt;br /&gt;
&lt;br /&gt;
; EiffelStudio is supported by a company : Eiffel Software remains the driving force behind EiffelStudio. A horde of full-time employees are working to improve EiffelStudio, react on your questions and provide commercial support if needed.&lt;br /&gt;
&lt;br /&gt;
; EiffelStudio has a power IDE : EiffelStudio features everything that you can expect from a modern IDE, starting with syntax highlighting, organization of your classes, interface extraction of features and classes, hypertext-like browsing, refactoring, and many more.&lt;br /&gt;
&lt;br /&gt;
; EiffelStudio offers incremental compilation : Changed just a single line in your huge system ? No need to wait for minutes or even hours for a recompilation. Even for a million lines of code, recompilation is a matter of seconds.&lt;br /&gt;
&lt;br /&gt;
; EiffelStudio adds run-time checking : Run-time checks of contracts and assertions are an inherit part of Design by Contract. With EiffelStudio, you get a tool for enabling efficient checks for just parts, or for the full system. Problems get reported where they happen, when they happen.&lt;br /&gt;
&lt;br /&gt;
; EiffelStudio has a powerful interactive debugger : The IDE integrates a full-featured debugger that makes it easy to trace what is really happening during execution.&lt;br /&gt;
&lt;br /&gt;
; EiffelStudio allows you to draw UML and BON diagrams : Sometimes a picture can say more than a 1000 words. EiffelStudio integrates an interactive tool to draw UML and BON diagrams. The tool features full round-trip engineering: Any change in the diagram is directly reflected in the code, and any change in the code is directly reflected in the diagram. So, your diagrams never become outdated.&lt;/div&gt;</summary>
		<author><name>Halw</name></author>	</entry>

	</feed>