Hi:
The main goal of this release was to move more common code to the
Black Diamonds project[1]. However, since this took a long time, many other
changes and improvements accumulated.
One of the most important changes for users is support for Java 9 and 10, which
simplifies using SOMns drastically, because users do not need a custom Java 8 VM
any longer.
Another important user-facing change is the inclusion of our documentation into
the repository and its deployment to
somns.readthedocs.io.
### Black Diamonds
- Move eager primitive handling to BD #185
- Move AST inlining and splitting to BD #231, #193, #92
### Major Improvements
- Simplify setup and use of Graal by supporting Java 9/10 #232, #242
- Included [documentation][docs] into repo, and improve it #212, #222
- Adopt Files and Streams libraries from Newspeak #220, #204, #190
- Add support for Unicode codepoints to strings #217
- Support n-ary Blocks, be strict, add `#cull:*` #215, #115, #94, #21
### Added Benchmarks
- Added classic tinyBenchmarks known from Smalltalks #230
- Add fork/join benchmarks #209
### New Interpreter Tooling
- Add tool to identify candidates for super-instructions #192
### General Maintenance
- Fix outer traversal to use lexical chain #238
- Reduce race-related stack overflows, and handled invalid layouts in ClassSlotAccessNode #244
- Adopt Economic collections of GraalVM to ensure insertion order #243
- Handle method/mixin scope uniformly #233
- Throw a proper SOMns Exception when a module isn't found #229
- Update Truffle to latest version #225, #210, #194, #186
- Colorizing terminal output #224
- Start tracking Java coverage #221
- Make Kompos tests more robust and less racy #206, #205
- Improvement debugger, transmitting partial arrays #200, #199
- Updated Kompos dependencies #207, #200
- Improve accessibility for Language Server #195
- Replace node constructors with explicit initialization #184
### Bug Fixes
- Fixed empty Array literals causing ArrayIndexOutOfBounds #216
- Fixed mixin initializers #201
- Fix VM exit and handle System>>#exit: for async apps #203, #191
- Outer sends need to check both super classes and mixins #189, #99
- Fix bug in core-lib/Benchmarks/All.ns and improve DyM #188
Best regards
Stefan
[1]:
https://github.com/SOM-st/black-diamonds/#readme
--
Stefan Marr
School of Computing, University of Kent
http://stefan-marr.de/research/