Ceylon M4 "Analytical Engine" is now available for download, along with a
simultaneous compatible release of Ceylon IDE. The compiler now
implements almost all of the language specification, for both Java and
JavaScript virtual machines as execution environments. New Ceylon platform
modules are available in Ceylon Herd, the community module repository.
You can download the Ceylon command line distribution here:
http://ceylon-lang.org/download
Or you can install Ceylon IDE from Eclipse Marketplace or from our
Eclipse update site.
Ceylon M4 and Ceylon IDE M4 require Java 7.
The Ceylon team hopes to release Ceylon 1.0 beta in January.
Language features
M4 is an almost-complete implementation of the Ceylon language,
including the following new features compared to M3:
The following language features are not yet supported in M4:
- reified generics
- user-defined annotations, interceptors, and the type safe metamodel
- serialization
This page
provides a quick introduction to the language. The draft language specification
is the complete definition.
Ceylon IDE
Ceylon IDE is a complete development environment for Ceylon, based
on the Eclipse platform. This release of Ceylon IDE introduces:
- support for JavaScript compilation and execution,
- module import completion,
- the brand new Ceylon Repository Explorer view,
- support for Maven repositories, and
- more than 30 other improvements and bug fixes.
Ceylon IDE M4 requires Java 7. Users of Ceylon IDE on Mac OS should
install Eclipse Juno. Users on other
platforms may run Ceylon IDE in either Eclipse Indigo or Eclipse Juno
on Java 7. Ceylon IDE will not work if Eclipse is run on Java 6.
Compilation and execution on the JVM and JavaScript VMs
The Ceylon command-line tools and IDE both support compilation to
either or both of the JVM or JavaScript.
Ceylon programs compiled to JavaScript execute on standard JavaScript
virtual machines. The Ceylon command line distribution and IDE include
a launcher for running Ceylon programs on Node.js.
Interoperation with Java
Interoperation with Java code is robust and well-tested. As usual,
this release fixes several bugs that affected Java interoperation in
the previous release.
Contrary to previous releases, the JDK is no longer automatically
imported, so you need to import the JDK using the modularised JDK
module names as defined by Jigsaw (Java 9).
The following new platform modules are now available in Ceylon Herd:
-
ceylon.net
provides URI and HTTP support
-
ceylon.io
provides charset and socket (blocking and non-blocking) support
-
ceylon.json
provides JSON parsing and serialization
-
ceylon.collection
collection implementations organized into mutable array-based
collections, mutable hashtable-based collections and immutable linked-list based
collections
The language module, ceylon.language
is included in the distribution.
Modularity and runtime
The toolset and runtime for Ceylon are based around .car
module
archives and module repositories. The runtime supports a modular,
peer-to-peer class loading architecture, with full support for module
versioning and multiple repositories, including support for local and
remote module repositories, using the local file system, HTTP, WebDAV,
or even Maven repositories for interoperation with Java.
https://herd.ceylon-lang.org
Source code
The source code for Ceylon, its specification, and its website, is
freely available from GitHub:
https://github.com/ceylon
Issues
Bugs and suggestions may be reported in GitHub's issue tracker.
http://ceylon-lang.org
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,
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.