Today, we're proud to announce the first production release of the Ceylon language specification, compiler, and IDE. Ceylon 1.0 is a modern, modular, statically typed programming language for the Java and JavaScript virtual machines.

Ceylon enables the development of cross-platform modules that execute portably in both virtual machine environments. Alternatively, a Ceylon module may target one or the other platform, in which case it may interoperate with native code written for the platform.

In the box

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,

the language module, our minimal, cross-platform foundation of the Ceylon SDK, and

a full-featured Eclipse-based integrated development environment.

Language

Ceylon is a highly understandable object-oriented language with static typing. The language features:

an emphasis upon readability and a strong bias toward omission or elimination of potentially-harmful constructs ,

and a strong bias toward , an extremely powerful type system combining subtype and parametric polymorphism with declaration-site variance , including first-class union and intersection types , and using principal types for local type inference and flow-sensitive typing ,

, including first-class , and using principal types for and , a unique treatment of function and tuple types , enabling powerful abstractions,

, enabling powerful abstractions, first-class constructs for defining modules and dependencies between modules ,

, a very flexible syntax including comprehensions and support for expressing tree-like structures , and

and support for expressing , and fully-reified generic types, on both the JVM and JavaScript virtual machines, and a unique typesafe metamodel.

More information about these language features may be found in the feature list and quick introduction.

This release does not introduce new language features. However, a very large number of bugs have been fixed.

IDE

Screenshots of the IDE may be seen here.

This release of the IDE introduces the following new features:

a type hierarchy view , to complement the popup type hierarchy,

, to complement the popup type hierarchy, a documentation view , to complement the documentation hover,

, to complement the documentation hover, a new Ceylon Module properties page , and the ability to manage dependencies from this page or from the New Ceylon Module wizard,

, and the ability to from this page or from the New Ceylon Module wizard, enhancements to the search results view,

improvements to syntax highlighting in the hover,

a much improved wizard for importing Java archives into Ceylon module repositories , and

, and many bugfixes.

Community module repository

Ceylon Herd is now open to the public.

SDK

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

This release introduces the following new platform modules:

ceylon.build , a framework for writing build scripts in Ceylon, and

, a framework for writing in Ceylon, and ceylon.html , a library for defining HTML content in Ceylon.

Community

The Ceylon community site, http://ceylon-lang.org, includes documentation, and information about getting involved.

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.

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, Daniel Rochetti, Loic Rouchon, Matej Lazar, Corbin Uselton, Akber Choudhry, Lucas Werkmeister, Julien Viet, Brent Douglas, Lukas Eder, Markus Rydh, Julien Ponge, Pete Muir, Henning Burdack, 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, Ari Kast, Dan Allen, Deniz Türkoglu, F. Meurisse, Jean-Charles Roger, Johannes Lehmann, Nikolay Tsankov.

Please enable JavaScript to view the comments powered by Disqus.