diff --git a/documentation/19.05/eiffelstudio/eiffelstudio-reference/compiler/differences-between-etl-2nd-printing-and-eiffel-software-implementation.wiki b/documentation/19.05/eiffelstudio/eiffelstudio-reference/compiler/differences-between-etl-2nd-printing-and-eiffel-software-implementation.wiki index c84466c7..34cc37f3 100644 --- a/documentation/19.05/eiffelstudio/eiffelstudio-reference/compiler/differences-between-etl-2nd-printing-and-eiffel-software-implementation.wiki +++ b/documentation/19.05/eiffelstudio/eiffelstudio-reference/compiler/differences-between-etl-2nd-printing-and-eiffel-software-implementation.wiki @@ -1,4 +1,4 @@ -[[Property:modification_date|Tue, 09 Jul 2019 08:33:39 GMT]] +[[Property:modification_date|Mon, 29 Jul 2019 05:54:09 GMT]] [[Property:publication_date|Tue, 09 Jul 2019 08:25:22 GMT]] [[Property:title|Differences between ETL 2nd printing and Eiffel Software implementation]] [[Property:link_title|ETL 2nd printing vs implementation]] @@ -9,28 +9,24 @@ "ETL 2nd printing" refers to the book "Eiffel: The Language" (2nd printing), published by Prentice Hall. ==Added classes== -* New basic classes have been added: INTEGER_8, INTEGER_16, INTEGER_64 and WIDE_CHARACTER.{{seealso|[[Differences between standard ECMA-367 and Eiffel Software implementation|Differences between standard ECMA-367 and Eiffel Software implementation]] }} - -==Added classes== -* New basic classes have been added: INTEGER_8, INTEGER_16, INTEGER_64 and WIDE_CHARACTER. INTEGER is now specified as having a 32 bits representation -* New TUPLE, ROUTINE, PROCEDURE and FUNCTION classes required by the agent mechanism. +* New basic classes have been added: INTEGER_8, INTEGER_16, INTEGER_64, CHARACTER_32. INTEGER, CHARACTER, REAL, DOUBLE are aliases to INTEGER_32, CHARACTER_8, REAL_32, REAL_64. {{seealso|[[Differences between standard ECMA-367 and Eiffel Software implementation|Differences between standard ECMA-367 and Eiffel Software implementation]]}} +* New TUPLE, ROUTINE, PROCEDURE, FUNCTION, PREDICATE classes required by the agent mechanism. ==Added keywords== -* Precursor -* reference: new keyword to specify that a type is used as a reference type. -* agent: new keyword used by the agent mechanism. -* create: Instead of using the famous exclamation mark to create an instance of a class, you can use the keyword create. Below you will find a correspondence table between the old and the new syntaxes. The old syntax is still valid, but at some points Eiffel Software will remove it from its implementation: +* Precursor +* reference (now obsolete): a keyword to specify that a type is used as a reference type. +* agent: a keyword used by the agent mechanism. +* create: Instead of using the famous exclamation mark to create an instance of a class, you can use the keyword create. Below you will find a correspondence table between the old and the new syntaxes. The old syntax is still valid, but at some points Eiffel Software will remove it from its implementation: ** Old syntax `!! a` => new syntax `create a` ** Old syntax `!! a.make` => new syntax `create a.make` ** Old syntax `!B! a` => new syntax `create {B} a` ** Old syntax `!B! a.make` => new syntax `create {B} a.make` -* note: replacement for the keyword indexing. -* attribute: new keyword to declare attribute body. -* attached: new keyword to specify attached types and object tests. -* detachable: new keyword to specify detachable types. - +* note: replacement for the keyword indexing. +* attribute: a keyword to declare attribute body. +* attached: a keyword to specify attached types and object tests. +* detachable: a keyword to specify detachable types. ==Added semantics== * [[ET: Genericity and Arrays|Generic creation]] @@ -67,13 +63,11 @@ end The previous call is valid, if and only if: ** value is a feature representing a constant of a basic type (INTEGER, DOUBLE or CHARACTER) ** value is a C/C++/DLL external feature -** value is an IL static external feature +** value is an IL static external feature +==Obsolete constructs== +* Explicit values should be used to specify constant attributes instead of keyword `unique`. ==Added external support== Look at the page for [[C externals|C]] and [[C++ Externals|C++]] with the introduction of `struct` and C++ external features encapsulation. - - - -