Ceylon M5 and Ceylon IDE M5 now available!

Ceylon M5 “Nesa Pong” is now available for download, along with a simultaneous compatible release of Ceylon IDE. This is a huge release, with the following headline features:

  • a fully-reified type system with generic type arguments available at runtime,
  • direct interoperation with native JavaScript,
  • tuples,
  • several important syntax changes in response to community feedback and practical experience, and
  • a datetime module and an HTTP server.

You can download the Ceylon command line distribution here:


Or you can install Ceylon IDE from our Eclipse update site.

Language features

M5 is an almost-complete implementation of the Ceylon language, including the following new features compared to M4:

In addition, the language specification and documentation have been substantially revised and improved.

The following language features are not yet supported in M5:

  • the type safe metamodel
  • user-defined annotations
  • serialization

This page provides a quick introduction to the language. The draft language specification is the complete definition.

Source code

The source code for Ceylon, its specification, and its website, is freely available from GitHub:



Bugs and suggestions may be reported in GitHub's issue tracker.


The Ceylon community site includes documentation, the current draft of the language specification, the roadmap, and information about getting involved.



The new platform modules are available in the shared community repository, Ceylon Herd.



We're deeply indebted to the community volunteers who contributed a substantial part of the current Ceylon codebase, working in their own spare time. The following people have contributed to this release:

Gavin King, Stéphane Épardaud, Tako Schotanus, Emmanuel Bernard, Tom Bentley, Aleš Justin, David Festal, Flavio Oliveri, Max Rydahl Andersen, Mladen Turk, James Cobb, Tomáš Hradec, Michael Brackx, Ross Tate, Ivo Kasiuk, Enrique Zamudio, Roland Tepp, Diego Coronel, Brent Douglas, Corbin Uselton, Loic Rouchon, Lukas Eder, Markus Rydh, Matej Lazar, Julien Ponge, Julien Viet, Pete Muir, Nicolas Leroux, Brett Cannon, Geoffrey De Smet, Guillaume Lours, Gunnar Morling, Jeff Parsons, Jesse Sightler, Oleg Kulikov, Raimund Klein, Sergej Koščejev, Chris Marshall, Simon Thum, Maia Kozheva, Shelby, Aslak Knutsen, Fabien Meurisse, Paco Soberón, sjur, Xavier Coulon.