Merged 18.01 into trunk

git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@1966 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
eiffel-org
2018-04-06 11:21:52 +00:00
parent 6800ee101f
commit 0be20a2643
5 changed files with 50 additions and 19 deletions

View File

@@ -33,5 +33,5 @@ Replace left or right side with something else than the other element.
In the example, replace one of the '''<e>a</e>''' by something else.
{{SeeAlso | [[CA071 - Self-comparison]]}}
{{SeeAlso| [[CA071 - Self-comparison]]}}

View File

@@ -34,5 +34,5 @@ Replace left or right side of comparison with something else than the other elem
In the example, replace '''<e>a</e>''' by something else.
{{SeeAlso | [[CA001 - Self Assignment]]}}
{{SeeAlso| [[CA001 - Self Assignment]]}}

View File

@@ -4,37 +4,59 @@
[[Property:weight|1]]
==Graphical environment==
===What's new===
* EiffelStudio has new menu entries and toolbar buttons to launch code analysis on a class (from active editor), on a previously analyzed item, on a parent cluster of a selected item, on a currently selected target. The results of the analysis go to the error list similar to compilation results.
* Added an experimental command line tool named `eiffel` used to build and launch an Eiffel project directly using the project.ecf file (in a single step).
===Improvements===
* EiffelStudio supports filtering of error messages by free text.
* Added auto-completion support for manifest values in parenthesis.
* The background colors in error list can be customize to distinguish between different kinds of messages: error, warning, hint, success. The colors can be set in the preferences.
* Improved style of the documentation generated with a filter for HTML with style-sheets.
===User changes===
* compiler: changed an algorithm to compute a type of a conditional expression, now it does not depend on the order of expressions used in the branches, and always exists, i.e. there is no VWCE error anymore (more details are available in the [[Conditional expression|documentation]]).
* compiler: Added a warning reported when a manifest array type is computed using a target type of the reattachment the array is involved in as a source. The warning can be disabled in the project settings during the first year after the release, cannot be disabled afterwards, and becomes an error after 1.5 year after the release.
* EiffelStudio: Disallowed application of automatic fixes to modified classes (changed either by external tools or in the editor). The project needs to be recompiled to apply the fixes. Application of several fixes to the same class is possible in one go.
==Compiler==
* The compiler supports now typed manifest arrays of the form `{ARRAY [FOO]} << bar, qux>>`, that allows for explicit specification on the array type (see more in the [[Manifest array#Typed_manifest_array|documentation]]).
* Be aware, that now for manifest array without explicit specified type, the compiler no longer depends on the type of the target of a reattachment where the array is used as a source (see more in the [[Manifest array#Untyped_manifest_array|documentation]]).
* The compiler supports now class postconditions and instance-free features. A class postcondition consists of a single keyword `class` (with an optional leading tag). A feature with a class postcondition is known as a class feature and can be used in non-object calls of the form `{MY_CLASS_TYPE}.my_feature`. The restriction is that a class feature cannot access `Current`, a variable attribute, a non-qualified agent or make calls to non-instance-free features. Instance-free features include constant attributes, external and class features.
* Added support for Unicode white space characters in source code as token delimiters. This might be useful when copying code from the Internet where some servers/browsers replace ASCII white space and tab characters with no-break spaces.
* It is possible to modify the preferences of the code analyzer to control when obsolete feature calls are reported by the compiler as warnings that can be suppressed, when as warnings that cannot be suppressed, and when as errors.
* The compiler now provides precise location in error messages for `VPIR(1), VRLE(1), VREG, and VRFA`.
==Libraries==
===Breaking changes===
*
* EiffelNet: now `set_timeout (0)` is accepted for `NETWORK_SOCKET` and do not set anymore the default timeout (20s).
===General===
*
* EiffelBase: Updated `CHARACTER_PROPERTIES` to use Unicode 10.0.0 instead of 6.2.0.
* The `event` library is now part of the `patterns` library that is now public in EiffelStudio delivery. The library includes other patterns that facilitate decoupling of different subsystems and could be used to build MVC frameworks on top of it.
===EiffelNet===
* Adopted `nanosecond` as timeout unit precision in EiffelNet (previous `second` unit precision features are available as obsolete features). To use nanoseconds precision, use the feature ending with "_ns". Note that depending on the platform, and associated C api, the precision may be only microseconds or milliseconds.
===C_library===
*
* Updated cURL C library to version 7_56_1.
* Updated OpenSSL C library to version 1.1.0f.
===EiffelCurl===
*
* It is now possible to compile with EiffelCurl based dynamic module, or static C library (with or without dependencies on .dll/.so).
* Updated cURL library to support static linking of cURL C library. It allows at compile time to choose between using the shared library version (i.e .dll/.so which is the default) or using the static library version (.lib/.a files not provided).
===OpenSSL===
*
* Added a new OpenSSL Eiffel wrapper library, used by EiffelNetSSL (version 1.1.0f).
===JSON===
*
===EiffelWeb ===
*
===ROC CMS===
*
===EiffelWeb and related===
* Introduced the new WSF_COMPRESSION and WSF_*_WITH_COMPRESSION interfaces.
* Added routing condition mapping (in addition to uri, uri-template, starts-with, ...).
* Added a handler to execute CGI scripts (useful mainly when using standalone connector).
* Added support for security protection against XSS injection or other similar threats (see new library wsf_security.ecf).
* Added new JSON Web Token library under `contrib/library/web/authentication/jwt` .
* Added support for embedded resources, reference fields to the HAL library.
----
See [https://dev.eiffel.com/EiffelStudio_18.01_Releases change log]. for more details.
See [https://dev.eiffel.com/EiffelStudio_18.01_Releases change log] for more details.

View File

@@ -0,0 +1,8 @@
[[Property:uuid|7A9673B8-2FFC-4C9B-A055-29EB1CDD653F]]
[[Property:weight|10]]
[[Property:title|SCOOP papers]]
[[Property:link_title|papers]]
= Papers related to SCOOP and Concurrency =
== Concurrency patterns in SCOOP (Master Thesis by Romans Schmocker) ==
* Permanent link: [https://doi.org/10.3929/ethz-a-010255889]

View File

@@ -16,7 +16,7 @@ Most often a package is a library or a set of libraries, but it could also other
Certainly the IRON repository is a repository of Eiffel libraries. However, sometimes libraries are used together, or cross reference one another, and thus are appropriate to be delivered together as a unit.
Such unit can also include other types of files, such as external .c files that may need to be compiled on the local platform to make .LIB or .OBJ files available to the linker (.a or .o on Unix and Linux systems), scripts or executable that need to be run as part of the installation process (e.g. to generate other files required by the library, install environment variables, generate source code from LEX files), or tool kits that are part of, or needed by, the library.
Since the IRON repository permits programmers to install software components in "units", and since sometimes those units can contain more than one library, as well as other types of files, a new term was required to convey this concept: package.
Since the IRON repository permits programmers to install software components in "units", and since sometimes those units can contain more than one library, as well as other types of files, a new term was required to convey this concept: package.
{{Definition|package|a downloadable unit of software from an IRON repository that contains one or more Eiffel libraries and their related files.}}
@@ -269,7 +269,7 @@ The "iron" executable is used to perform various operations such as search, inst
</code>
(or <nowiki>iron install https://iron.eiffel.com/14.05/com.eiffel/library/base</nowiki>)
:(This latter form is useful in resolving name conflicts when, for instance, you have multiple IRON repositories registered on your system, and two or more contain a packaged called "base".)
:(This latter form is useful in resolving name conflicts when, for instance, you have multiple IRON repositories registered on your system, and two or more contain a packaged called "base".)
===Uninstall a package===
<code> iron remove base
@@ -298,7 +298,7 @@ iron repository --remove https://custom.example.com/14.05
===Multiple-Repository Name Conflict Resolution===
If you have more than one IRON repository registered on your system, it is possible that the same package name may exist on more than one repository. If this is the case, and you attempt to perform operations using that name only, the repository that will be used will be the first repository in the list that contains a package with that name. If you need the package with that name from a different repository, then use the "id" or "uri" form of the identifying the package you want.
If you have more than one IRON repository registered on your system, it is possible that the same package name may exist on more than one repository. If this is the case, and you attempt to perform operations using that name only, the repository that will be used will be the first repository in the list that contains a package with that name. If you need the package with that name from a different repository, then use the "id" "uri" form of the identifying the package you want.
If the sequence of repositories is not to your liking, you can change it in three ways:
@@ -457,3 +457,4 @@ More features are planned or are already under development:
:* ability to upgrade of packages already installed
:* extended post-installation operations
:* more features that users may request or suggest.