The continue keyword enables to break the execution flow for continuing at the begining of the most-internal loop’s block.
Add number method extensions that are implicitly imported. (details)
This extension enables to use primitive numbers and object-oriented numbers (Integer, etc.) within the same expression without explicit cast.
Add implicit casting functions for numbers. (details)
This extension adds autoboxing.
Autoboxing is the automatic conversion that the SARL compiler makes between the primitive types and their corresponding object wrapper classes. For example, converting an int to an Integer, a double to a Double, and so on. If the conversion goes the other way, this is called unboxing.
Operator precedence that is implemented within the Xbase library does not corresponds to the expected definition of the operator precedence for the SARL language. For example, the poxer and uniry minus operators have not an obvious precedence within Xbase.
The grammar of SARL is fixed for applying an obvious definition of the operator precedence, until Xbase team has accepted the provided patch.
Detecting read and write accesses on fields and local variables is not properly defiend within the Xbase library. A pull request is under evaluation regarding this point into the Xtext project.
A collection of tests have been added in SARL in order to ensure that the “unused field” and “unused local variable” warnings are output correctly by the SARL compiler.
Avoid the invalid report of a dupliciate interface or capacity implementation. (details)
Assuming a capacity C is implemented by an abstract skill A, when a skill B extends A and implements C, the SARL compiler before to the version 0.7.0 generates the error “duplicate capacity implementation”.
This behavior should not be an error but a warning, as it is done by the Java compiler.
1.3. Java Model Inferrer
Cloning of type references with full type parameter support. (details)
The cloning function of the type references did not clone the generic type’s parameters. In this release the generic type’s parameters are cloned.
Do not create shadow variables for break and continue keywords. (details)
When generating the Java code, the break and continue keywords must not generate local hidden/shadow variables, because these keywords do not apply any computation.
Avoid class cast exception in SARLJvmModelAssociations for source elements. (details)
Output the Ecore data structure when one Ecore element was not found. (details)
Move early-exit detector within an utility class. (details)
1.4. SARL Core Library
Reminder: The programmatic bootstrap is the part of the SARL API that enables to start agents from a Java application.
The bootstrap is moved from the SDK to the core language library. (details)
Enable basic configuration of the SARL bootstrap (offline, etc.) (details)
Add startWithoutAgent() function to the SRE bootstrap utility class. (details)
This annotation enables to specify a default skill for a capacity. It could be attached to a capacity in order to give to the SRE the opportunity to create a skill instance of the specified type when there is no explicit mapping defined from the capacity to a skill.
Fixing the equality tests between Address and SpaceID. (details)
Testing the equality between addresses and space identifiers have not an expected result.
Basically, the previous implementation uses getClass() != obj.getClass() for the equality test. This test is replaced by !(obj instanceof Address) or !(obj instanceof SpaceID).
Enable the access to the getCaller() function from a skill. (details)
This function allows to retreive the caller of a skill’s function inside the skill’s code.
Cleaning the MapExtensions for submission to Xtext. (details)
Change the private API for exhibiting a concurrent map of skills. (details)
The private API of a skill replied a concurrent map in order to let the caller to apply synchronized accesses on the map content.
Add org.eclipse.xtend.lib to the standard SARL Libraries. (details)
This inclusions avoids to have linkage errors when using the dynamic annotations on classes.
Fixing resource names for English version of the SARL libraries (details)
1.5. SARL Formatter
Enable an empty line before multiline comments. (details)
1.6. SARL Batch Compiler
Update the messages given by the SARL batch compiler. (details)
Internal Xtext info messages are logged at debug level within the batch compiler. (details)
2. SARL Development Toolkit (SDK)
2.1. New Features
Add io.sarl.javafx library into the SDK. (details)
This library provides the basic implementation of a JavaFX-based application that is able to launch SARL agents.
2.2. Logging Capacity
Add more functions within Logging capacity. (details)
The new functions have a formal parameter of type Supplier<String>. They enables to log messages that are build by a supplier, or a lambda expression.
2.3. Lifecycle Capacity
Update the API documentation about the parallel execution behavior of the spawning functions. (details)
2.4. ExternalContextAccess Capacity
Add getUniverseContext within ExternalContextAccess. (details)
This function enables the agent to retrieve the Universe context, i.e. the root context for all the agents.
Until now, launching a SARL program means launching a single agent. The classpath of the application is dynamically updated for replacing the SARL libraries by the SRE’s libraries (for example the Janus framework).
In several cases, a standard application should be launched before the first agent is created. Then, this application is in charge of launching the agents with the programmatic bootstrap. A standard Java application cannot be used because the need of the dynamic replacement of the SARL libraries by the SRE’s libraries is still present. A new type of launching configuration is introduced: SARL application launching configuration (the previous type is now named SARL agent launching configuration).
Fixing issue when selecting a project SRE setting in launch configuration. (details)
Add a provider of SRE, which is based on the defined SRE bootstraps as JRE services. (details)
Add preference page for the SARL editors. (details)