mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2026-04-04 17:19:23 +02:00
Author:halw
Date:2009-05-11T22:10:12.000000Z git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@213 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
@@ -2,7 +2,10 @@
|
||||
[[Property:link_title|]]
|
||||
[[Property:weight|-9]]
|
||||
[[Property:uuid|fc1e73f4-5646-aa41-e7fe-97dc6f3ceb04]]
|
||||
{{seealso|[[Differences between standard ECMA-367 and Eiffel Software implementation|Differences between standard ECMA-367 and Eiffel Software implementation]] }}
|
||||
{{seealso|See also: [[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: <eiffel>INTEGER_8</eiffel>, <eiffel>INTEGER_16</eiffel>, <eiffel>INTEGER_64</eiffel> and <eiffel>WIDE_CHARACTER</eiffel>.{{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: <eiffel>INTEGER_8</eiffel>, <eiffel>INTEGER_16</eiffel>, <eiffel>INTEGER_64</eiffel> and <eiffel>WIDE_CHARACTER</eiffel>. <eiffel>INTEGER</eiffel> is now specified as having a 32 bits representation
|
||||
@@ -33,7 +36,7 @@
|
||||
|
||||
|
||||
==Added semantics==
|
||||
* [[7 Genericity and Arrays|Generic creation]]
|
||||
* [[ET: Genericity and Arrays|Generic creation]]
|
||||
* Expression creation: you can now create an object within an expression. For example, you want to create an object and pass it as an argument to a function. Whereas you had to create a local variable, create the object and pass it to the function, you now simply need to pass to the function the creation expression. Here is a small example:
|
||||
{|
|
||||
|-
|
||||
@@ -60,8 +63,8 @@ end
|
||||
|}
|
||||
This is also very useful since it can improve the power of assertions.
|
||||
* Mutually recursive constraints: one can now write class A [H, G->H] or class B [H -> C, G -> ARRAY [H]]. As a result, the declaration A [D, E] is valid only if E is a descendant of D. Similarly, the declaration B [E, ARRAY [D]] is not valid, if E is a descendant of D.
|
||||
* [[10 Other Mechanisms|Tuples]]
|
||||
* [[11 Agents|Agents]]
|
||||
* [[ET: Other Mechanisms|Tuples]]
|
||||
* [[ET: Agents|Agents]]
|
||||
* Feature access: <br/>
|
||||
<code>
|
||||
local
|
||||
|
||||
@@ -118,7 +118,7 @@
|
||||
| Yes
|
||||
| Yes
|
||||
|-
|
||||
| [[7 Genericity and Arrays|Generic creation]]
|
||||
| [[ET: Genericity and Arrays|Generic creation]]
|
||||
| <code>create {G} x.make</code>
|
||||
| No
|
||||
| Yes
|
||||
@@ -244,13 +244,13 @@
|
||||
| Yes
|
||||
| Yes
|
||||
|-
|
||||
| Manifest [[10 Other Mechanisms|tuple]]
|
||||
| Manifest [[ET: Other Mechanisms|tuple]]
|
||||
| <code>[a, b, c]</code>
|
||||
| No
|
||||
| Yes
|
||||
| Yes
|
||||
|-
|
||||
| [[11 Agents|Agent]]
|
||||
| [[ET: Agents|Agent]]
|
||||
| <code>list.do_all (agent print (?))</code>
|
||||
| No
|
||||
| Yes
|
||||
|
||||
Reference in New Issue
Block a user