Scala language moves closer to bare metal

The Scala Native project leverages LLVM compilers as a deployment mechanism for the functional and object-oriented language

Scala, a general purpose language combining object-oriented and functional programming, is about to find another deployment option.

Already used atop the Java Virtual Machine and in JavaScript applications via Scala.js, Scala is going to also be enabled through the use of LLVM compilers in a project called Scala Native. The technology is intending to bring Scala "closer to bare metal," according to Github page set up for the effort.

Leverging AOT (ahead of time) compilation, the project looks to speed up Scala applications in mobile, gaming, and command-line applications, developer Denys Shabalin, of École Polytechnique Fédérale de Lausanne Switzlerland, said.

LLVM features modular compiler technologies for C and C++ and brings instant startup to Scala Native.

"Scala Native is compiled ahead-of-time via LLVM. This means that there is no sluggish warm-up phase that's common for just-in-time compilers. Your code is immediately fast and ready for action," GitHub documentation states.

Shabalin's issues with the JVM's startup times motivated his work on Scala Native. "In AOT, you compile before you even start the app so it's faster," he noted

Primarily targeting Intel and ARM processors, Scala Native features a lightweight managed runtime and could be used for building applications for both Android and iOS

Other features of Scala Native include low-level primitives, for hand-tuning an application to make it work exactly how the developer wants, and extern objects, for calling native code without any runtime overhead.

Scala Native currently in a pre-release stage and has been in development for about a year. Shabalin is ramping up for an official first release of Scala Native.

Join the TechWorld newsletter!

Error: Please check your email address.

More about ARMIntelScala

Show Comments
[]