Changes in 0.8.6
Release date: 2018-11-28.
1. SARL Language
1.1. Java Model Inferrer
- Make the lambdas able to be serializable (1, 2, 3). A lambda is usually used for specifying the scope of the event sending actions. Since a lambda contains a code that reference local objects, and the scope is evaluated when the event is deliver to each agent, the scope function cannot be properly evaluated when the event and its scope have been transferred through a computer network. This change into the SARL compiler enables to generate a Java version of the lambdas in order to be serializable.
1.2. SARL Core Library
- Move number extensions into the module
io.sarl.lang.core
(details). The extensions are usually used for generated an inline version of the operations on the numbers. When the @Inline
is disabled into the compiler configuration, the Java functions provided by the number extensions must be accessible from the public SARL API. Consequently, the extensions are moved from the module io.sarl.lang
(private API) to io.sarl.lang.core
(public API).
1.3. Command Line Compiler
- Remove hard dependencies to experimental contributions (details). This decision enables to avoid run-time errors when the experimental libraries are not available in the tool’s classpath.
- Ensure API events are fully serializable (details). All the events that are defined into the SDK are fixed in order to enable their serialization.
3. Janus Run-time Environment
- Gson serializer is disabled because it cannot handle the lambda serialization (details). It is replaced by the native Java serializer.
- Send events into the local instance of the SRE if an error occured when sending over the network (details).
- Fixing the formatting of the error messages into the network service (details).
- Fixing error messages of the GsonEventSerializer (details).
4. Eclipse Product
4.1. Internal UI Implementation
- Avoid the double paste of a text into the SARL editor (details). When the “auto-formatting when pasting” feature was enabled, the text is pasted two times. This change fixes this issue.
- Print a warning when the errors in the editor and the SARL model are not the same (details). This change shold enable the SARL developpers to detect when and why the state of the SARL editor becomes invalid regarding the SARL model behind the editor.
4.2. Eclipse Product
4.2.1. Launching Configurations
- Re-enabling the source tab into the SARL launch configurations (details). This tab is used to configuration the search path for the SARL sources.
4.2.3. UI Components
- Avoid to open a dialog box for adding the SARL nature to a project (details). The addition of the SARL nature is added without querying the user to confirm.
- Remove hard dependencies to experimental contributions (details). This decision enables to avoid run-time errors when the experimental libraries are not available in the tool’s classpath.
6. SARL Documentation
- A language comparison is written into a specific page (1, 2).
- Add unit test for testing the operation conformance on numbers. (details) Xbase library is officially conformant to the Java specification regarding the typecasting (implicit or explicit) of the numbers. In order to highlight the different cases, and to prepare SARL for the introduction of the cast operator overriding, a set of unit tests have been added.
- Make the test tools faster (1, 2).
6. Changes in the Previous Versions