Example Sbt Project
This page will present an example project meant to quickly get you up and running with the miniboxing plugin.
Once you cloned the project, change directory to
miniboxing-example and run
sbt. In the console, you’ll have the following options:
compilewill compile the project (running
set scalacOptions += "-P:minibox:log"before
compilewill also log the class specialization process)
runwill run the project: it will output the names of miniboxed classes for different cases, so you get a feeling of what miniboxing does under the hood
consoleis probably the most interesting task, as it allows you to try your own programs with miniboxing (the other examples rely on using the console)
README file of the project shows the output you should expect for the different commands.
Like the miniboxing plugin, the example project is distributed under a 3-clause BSD license so you can build your project on top of it.
Please keep in mind that the miniboxing plugin is a beta release, and you may encounter occasional hickups as we are working towards a feature-complete and super-stable implementation.
We are doing our best to make miniboxing a stable transformation, with nightly builds and hundreds of test cases running every night. Yet, there are bugs we haven't fixed yet, so don't be surprised if the plugin fails on some programs. But please do file bugs for such failures, so we can fix them asap! (on average, we fixed a bug every 3 days for the last two months!)
The miniboxing release currently supports two specific versions of the Scala compiler:
- 2.11.7, the current release in the 2.11 series and
- 2.10.6, the current release in the 2.10 series
Due to compiler bugs (for the 2.10 series) and binary incompatibility of the compiler API (for the 2.11 series), we do not currently support the other versions. We are planning, however, to fully cross-compile against all 2.10 and 2.11 versions and to provide error messages for the earlier and unsupported versions of the Scala compiler. We're sorry for this, but the engineering effort in supporting even two versions of the compiler is significant!
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