mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2025-12-06 23:02:28 +01:00
Added a first version of the page.
Updated wikipage Language and Capabilities. (Signed-off-by:alexk). git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@2069 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
@@ -0,0 +1,16 @@
|
|||||||
|
[[Property:modification_date|Mon, 10 Sep 2018 10:32:05 GMT]]
|
||||||
|
[[Property:publication_date|Mon, 10 Sep 2018 10:32:05 GMT]]
|
||||||
|
[[Property:uuid|81E6A18A-C7D8-4F80-8D08-8B2C0B6350C8]]
|
||||||
|
[[Property:weight|0]]
|
||||||
|
[[Property:title|Language and Capabilities]]
|
||||||
|
The sections *Language* and *Capability* list closely-related options that work together. The values in the section *Language* specify what rules or semantics the compiler should use when compiling and running the code. If not specified, the value of the corresponding option from the section *Capability* is used. A selected value in the section *Language* should be compatible with the value in the section *Capability*. In other words, the values listed in *Capability* tell what source code is capable of, whereas the values in *Language* tell what is used when compiling for a specific target.
|
||||||
|
|
||||||
|
The values in the section *Language* are used only when the corresponding target is compiled as a root one. Otherwise, they are ignored. The values in the section *Capability* are used to verify that current project settings allow for using a particular library (or classes of the project itself). For example, the standard library _Base_ can be used in a non-void-safe project, because project settings are compatible with capabilities of the library. On the other hand, the library _Thread_ cannot be used in a SCOOP project, because the library is not SCOOP-capable.
|
||||||
|
|
||||||
|
Capabilities are supported for the following settings, listed together with compatibility order, where _X < Y_ means _X_ is compatible with _Y_:
|
||||||
|
|
||||||
|
# CAT-call detection: None < Transitional < Complete
|
||||||
|
# Concurrency: Thread < None < SCOOP
|
||||||
|
# Void safety: None < Conformance < Initialization < Transitional < Complete
|
||||||
|
|
||||||
|
In addition to the restriction on the compilation setting specified in the section *Language*, a project or a library with a higher level of capabilities cannot rely on a library with a lower level.
|
||||||
Reference in New Issue
Block a user