https://github.com/scala-native/scala-native
Though it's experimental (and will likely remain that way for a while).
Not so sure, the alt-Scala train is moving fast (i.e. Dotty, Scala Meta, and Scala Native).
Scala.js is already production ready; come 2019 I'd consider present day Scala deprecated, replaced by Dotty with Scala.js and Scala Native compile targets.
In fact, initial release of the Scala to Dotty Migration Tool[1] is now available
It's happening ;-)
Scala.js acquired significant community help because it has some very strong motivation: tons of software is written for browsers, and sans-plugins, browsers only run JS.
Is everything perfect? No! Can you write stuff with it and have it work? Absolutely!
There are quite a few commercial JDKs with option to AOT compile to native code.
Of course, if one wants to stay in the realm of free, the existing options aren't that great.
This could have made Java actually relevant on the desktop, ignoring for a second how clueless Sun was about doing good desktop libraries.
However with Java 9 you will be able to use the new Java linker and create you own little VM + AOT startup code.
So that coupled with the large Java eco-system is already good enough for many of us.
Swift does compile to AOT today, but the tooling and libraries outside Apple platforms is almost insignificant, and only good enough for startups willing to bet on it.
https://www.youtube.com/channel/UCdDhYMT2USoLdh4SZIsu_1g/sea...
So far I only seen the presentations.
But looking at Java 8 on this PC I would say:
jvm.dll (8 MB) + main.exe (200 KB) + trimmed down JRE
Also notice that from the presentations they have some experimental support for jlink plugins, which can further shrink down the size.
With compiled languages like Go or Swift, that same application now is 2 MB or so. On top this, the application runs natively on the OS since it is compiled to LLVM.
If not, please explain.
In Scala the language is stable, the std lib is stable and the runtime is being worked on, in Swift the language is changing heavily, the libraries are under development, but the runtime might be slightly ahead. (If one can describe reference counting as "ahead".)