Gearing up for v1.0

Ceylon “fully-reified” in new milestone build

Elliot Bentley

Latest preview of Red Hat JVM language adds tuples, date-time module and an HTTP server.

The latest stable milestone of Ceylon, the new JVM language being developed by Red Hat’s Gavin King, introduces a fully-reified type system, the ability to call native JavaScript APIs and tuples.

Though later than expected and the first release since October, it’s described by the team as “a huge release”, and a step closer to a feature-complete first version of the language.

Last month, King reported on the official blog that milestone 4 had “gone quite a bit off the roadmap”, citing the revising of previous design decisions as well as the implementation of tuples. Though a far cry from the feature-release beta said in October to be arriving early 2013, the fifth milestone (codenamed “Nesa Pong”) delivers all new features promised last month.

Tuples, a standard language feature similar to an array shared by many common languages, was an essential addition, said King. However, its addition to the language was “somewhat disruptive”, slowing development considerably.

Other unsexy but undeniably practical additions include a datetime module and an HTTP server, the latter of which is based on Undertow, a Java web server set to power future versions of JBoss AS.

On the client-side, Ceylon’s new ‘dynamic’ blocks allow Ceylon to run within the browser and interact with native APIs – a considerable step up from last October’s release, which introduced the ability to compile to JavaScript within the IDE.

The feature the team appear most proud of, however, is achieving a fully-reified type system, one of the defining features of Ceylon. Promised for Ceylon over two years ago, reified generic type arguments are shared by C# but absent from Java itself.

“It’s going to take a fair bit more work to do all the optimizations we plan in order to wring acceptable performance out of this stuff,” notes King, “but we’ve got a couple of clever ideas in this area.”

While development is only just beginning on milestone 6 of Ceylon, initial plans suggest that the team may aim for a feature-complete release as they gear up for a v1.0 release later this year.

Inline Feedbacks
View all comments