Skip to content

0.6.0 - Black Diamonds

Compare
Choose a tag to compare
@smarr smarr released this 05 Apr 23:07
· 318 commits to release since this release
385926d

The main goal of this release was to move more common code to the
Black Diamonds project. 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, 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 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, #9

  • Fix bug in core-lib/Benchmarks/All.ns and improve DyM #188