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:
http://ceylon-lang.org/download
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:
- tuples
- direct interop with native JavaScript APIs via the new
dynamic
block - the
:
operator - verbatim strings
-
fat arrow
=>
abbreviation for defining single-expression functions - syntactic sugar for iterables
- more powerful spread operator
- the
late
annotation - binary and hexadecimal numeric literals
- defaulted type parameters
- reified generics
- many miscellaneous minor improvements to the syntax and typing rules of the language
-
ceylon.time
module -
ceylon.net.http.server
package (a HTTP server) - the
compose()
andcurry()
functions - reworked interop with Java arrays
- more than 500 features and bug fixes
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:
Issues
Bugs and suggestions may be reported in GitHub's issue tracker.
Community
The Ceylon community site includes documentation, the current draft of the language specification, the roadmap, and information about getting involved.
SDK
The new platform modules are available in the shared community repository, Ceylon Herd.
Acknowledgement
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.