Miniboxing - Latest Developments
In the last three months the miniboxing plugin has seen a serious development spree, with a completely redesigned transformation, which fixes many of the limitations and bugs of the current approach. The development has been largely hidden in the topic/erasure-rebase branch, which, at the moment of writing, is 150 commits in front of the wip branch and 250 commits in front of master.
And we need your help to review the changes!
Anyone interested in miniboxing is kindly invited to review at the changes, especially the test cases and their reference output (test file
X.scala has reference output
X.check: see all tests here). Once the pull request is made, everyone can try out the new plugin, comment on the source code and point out any suboptimality in the transformation. If all goes well, a week after the pull request has been made, it will be merged. This will also bump the plugin version from
So keep an eye out for the pull request and please help review it!
But what does this bring?
The list is quite long, but here’s a summary: * a more principled transformation, with a mechanism which generalizes SIP-15: Value Classes * avoiding unnecessary hopping between the boxed and unboxed representations (tests: 1 2 3 4 5 6 7 8) * improved nested class transformation (tests: 1 2 3 4 5) * improved overriding of class members (tests: 1 2 3 4 5 6 7) * simplified method bridging mechanism (tests: 1 2 3 4 5 6 7 8) * removing many mechanisms made redundant by the latest developments :)
Comments are always welcome! But to make the best use of them, please consider this:
- If you have questions or feedback regarding the content of this page, please leave us a comment!
- If you have general questions about the miniboxing plugin, please ask on the mailing List.
- If you found a bug, please let us know on the github issue tracker.
Thanks! Looking forward to your messages!
comments powered by Disqus