This is a milestone release, which means that the core language functionality is implemented.
The core libraries are to be implemented during the 0.2.x development cycle.
This release contains a few syntax improvements, several new tests and numerous fixes.
o42a has a garbage collector now.
This release refines the sentence semantics and makes it clearer. The declarative and the imperative sentences are evaluated similarly now. Several syntax constructs were removed. The “unknown” logical value was removed; the logic is Boolean now.
This release introduces getters. The getter is a stateless link re-evaluated on each request. An assignment statement can be customized for the getter to act as a property.
The numeric objects were extended with adapters for a seamless type conversion.
This is a major update to the language semantics.
The links and variables are objects now. The notion of “artifact” is gone, replaced by an “object”.
The core array objects have been renamed. The syntax of arrays has been simplified.
The project source code repository, downloads, and issue tracker are moved to Bitbucket.
This release introduces multiple code generation improvements and fixes. As a result, the compiler runs faster and produces smaller executables.
This release introduces a new compilation stage called normalization. This stage is responsible for generated code redundancy elimination and includes different techniques based on a static code analysis.
The compiler is now able to “inline” objects in many, quite common, situations, converting object data structures and functions to executable code fragments. This drastically reduces the size of generated executables.
This is an upgrade to LLVM-3.0.
This is a maintenance release. It seriously improves the compiler performance, which now consumes up to 70% less memory and works up to 40% faster.
Also, the source files can be in any encoding now (UTF-8 is still the default).