RedHat’s Java/Javascript hybrid Ceylon progresses: M3 released

We’re drawing ever nearer towards a beta version of Gavin King’s JVM amalgam that brings Java and Javascript together

Roughly a month on from
their last dispatch, the team behind Red Hat’s fledgling JVM
language Ceylon have released the latest milestone in the long road
towards a first full version of the language – dubbed unfairly by
some as a ‘Java killer’.

As detailed in last month’s preview, Ceylon M3 “V2000”
makes it possible for Ceylon to support both Java and JavaScript
virtual machines and brings forth numerous improvements, notably a
fully-compliant compiler. Combined with the milestone comes a
simultaneous compatible release of a dedicated Ceylon
IDE, based on Eclipse.

With an IDE now present, Ceylon’s communal module repository,
Ceylon Herd can now
get down to work, with the first three Ceylon platform modules now
available. The three modules, other than the distribution included
ceylon.language are: ceylon.math,
ceylon.file (for interacting with
heirarchical filesystems)
and ceylon.process (for starting native
child processes).

Ceylon IDE now automatically fetches module archives from Ceylon
Herd to satisfy dependencies declared in the module descriptor. As
an added bonus, you can write Ceylon code that calls a Java
binary, navigate to its attached source code, autocomplete its
declarations, hover to view its JavaDoc, etc. Now, that’s quite
neat. With the interchangability of Ceylon and Java code at will
(in case you’re struggling to work out a Ceylon equivalent from the
get go), Ceylon looks pretty dynamic.

This landmark milestone means that most of the work
towards creating a full-language implementation has been
done. Mixin
inheritance, comprehensions, anonymous
functions, curried
functions and other important features have been added
this time, making Ceylon look and feel like a proper JVM convert
now. Java interoperation is now “robust and well-tested”, according
to creator Gavin King. Alongside the offer of JavaScript
compilation, there’s the inclusion of a launcher for running Ceylon
programs on Node.js.

It’s a sizeable leap for the hybrid language with big hopes,
putting together the important architecture behind a language to
ensure it’s as fully-fleshed out as possible. We also learnt
through the release blog that Ceylon’s 1.0 beta is imminent, set to
arrive in September or October. Until then, peruse
the documentation,
the current
draft of the language specification,
the roadmap,
and information about getting
involved. From the work done so far, the only way is up
for Ceylon and we await to see what treats King et al bring in the
future