Ceylon 1.0 beta

After more than three years of development, Ceylon is now feature-complete. Ceylon 1.0 beta implements the whole language specification, providing the capability to execute Ceylon programs on both Java and JavaScript virtual machines and to interoperate with native code written for those platforms. This release includes:

  • a complete formal language specification that defines the syntax and semantics of Ceylon in language accessible to the professional developer,
  • a command line toolset including compilers for Java and JavaScript, a documentation compiler, and support for executing modular programs on the JVM and Node.js,
  • a powerful module architecture for code organization, dependency management, and module isolation at runtime, and
  • the language module, our minimal, cross-platform foundation of the Ceylon SDK.

Simultaneously, we're releasing Ceylon IDE 1.0 beta, the latest iteration of our full-featured Eclipse-based development environment.

runas

New features of the language

This release introduces the following new language features, along with many bugfixes:

  • annotations and annotation constraints,
  • a typesafe metamodel,
  • "static" method and attribute references,
  • try with resources,
  • support for strings, integers, and characters in switch,
  • support for named unicode characters in string and character literals,
  • the ** scaling multiplication operator,
  • nonempty variadic parameters, and
  • a new improved syntax for calling concrete members of inherited interfaces.

The new features are summarized here.

metamodel

New features of the IDE

This release of the IDE introduces performance improvements, many bugfixes, and:

  • support for launching Ceylon programs on the module runtime,
  • paste-with-imports, and autoindentation on paste,
  • integration with Eclipse's built-in file and package refactorings,
  • inline "linked-mode" rename, and rename support for references in documentation strings,
  • improvements to autocompletion, including "linked-mode" argument completion,
  • much improved integration for Eclipse's merge viewer,
  • integration with the commandline toolset's configuration file format,
  • several new quick fixes and assists, including new quick assists for adding and changing import aliases, and
  • a new editor preferences page.

You can see screenshots of the new release here.

autocomplete

rename

Community

The Ceylon community site includes documentation, and information about getting involved.

http://ceylon-lang.org

SDK

The platform modules, recompiled for 1.0 beta, are available in the shared community repository, Ceylon Herd.

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.

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 Bakka, Xavier Coulon, Akber Choudhry, Ari Kast, Dan Allen, Deniz Türkoglu, F. Meurisse, Jean-Charles Roger, Johannes Lehmann.