An Open Source and complete Eiffel development platform for Linux/Unix, Windows and Mac
EiffelStudio is actually written in the Eiffel programming language, and provides a complete integrated development environment (IDE) for the said language. It is comprised of an interactive debugger and a compiler.
EiffelStudio is highly portable and supports the Linux, Microsoft Windows, Mac OS X, as well as most flavors of UNIX. Application portability is supported by a wide range of portable libraries, including EiffelNet (network), EiffelBase (data structure), EiffelVision (native GUI), EiffelParse (parsing), EiffelStore (database access), Gobo (XML), EiffelCOM (COM), and EiffelWeb (Web).
In a hurry? Add it to your Download Basket!
What's New in This Release:
- New features:
- compiler: Supported parenthesis aliases that allow treating feature calls with arguments on entities that take no arguments to look as regular feature calls. This is mostly useful to make calls on agent objects, e.g. instead of my_agent.call (x) it may be possible to use my_agent (x). Unlike bracket alias, parenthesis alias can be used with both queries and commands, but as with bracket alias, the corresponding feature should have at least one argument.
- compiler: Supported new rules to handle actual arguments in a feature call that wrap last arguments into a tuple when: the number of actual arguments exceeds the number of formal arguments or when the number of actual arguments is equal to the number of formal arguments, but the last actual argument is not type-compatible with the last formal argument unless wrapped in a tuple. This is mostly useful to make calls on agent objects avoiding explicit manifest tuple notation. For example, my_agent.call ([123, "abc", value]) can be written as my_agent.call (123, "abc", value), or, when combined with parenthesis alias, as my_agent (123, "abc", value).
- compiler: Supported conditional expressions that allow using different expressions to compute a value depending on some condition: if x < y and x < z then x elseif y < z then y else z end.