Gearing up for v1.0

Ceylon “fully-reified” in new milestone build

Elliot Bentley
ceylon.11

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.

Author
Comments
comments powered by Disqus