From 3035dda9999958f6ecfc55133cfd97180bf39dd6 Mon Sep 17 00:00:00 2001 From: eiffel-org Date: Wed, 5 Jul 2017 17:30:10 +0000 Subject: [PATCH] Update wikipage Types. (Signed-off-by:alexk). git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@1867 abb3cda0-5349-4a8f-a601-0c33ac3a8c38 --- .../Types.wiki | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 documentation/trunk/eiffel/Language_reference/quick-reference-eiffel-programming-language/Types.wiki diff --git a/documentation/trunk/eiffel/Language_reference/quick-reference-eiffel-programming-language/Types.wiki b/documentation/trunk/eiffel/Language_reference/quick-reference-eiffel-programming-language/Types.wiki new file mode 100644 index 00000000..b7c2f11f --- /dev/null +++ b/documentation/trunk/eiffel/Language_reference/quick-reference-eiffel-programming-language/Types.wiki @@ -0,0 +1,15 @@ +[[Property:uuid|88764AFC-7DC5-4547-8B8C-4C0A489B0620]] +[[Property:weight|0]] +[[Property:title|Types]] += Types = + +== Common ancestor type == + +A *common ancestor type* is a type computed for a list of types using the following algorithm: + +1. Temporary ignore whether any types are detachable or separate. +2. Add a type `NONE` to the list of types (this makes sure the list is never empty). +3. If there is a type in the list to which all other types conform, remember it as T. +4. Otherwise, use `ANY` for T. +5. If there is a detachable or separate type in the list, use the corresponding detachable and/or separate version of type T. +