Red Hat

In Relation To Ceylon

In Relation To Ceylon

Free Ceylon conference in Paris

Posted by    |       |    Tagged as Ceylon

To celebrate the recent release of Ceylon 1.0, we're putting on a one-day free conference in Paris on Friday, January 24.

The format of the conference is:

  • a morning of short presentations about different bits of the Ceylon ecosystem, followed by
  • a hands-on Ceylon programming workshop in the afternoon.

Almost the whole Ceylon team will be present, since we're having a four-day team meeting prior to the conference day. So if you have any questions about Ceylon, or if you want to bend our ears on some pet topic, this is your chance.

You can see the conference program, and sign up for the conference here.

P.S. If you're coming to the conference, or even if you're not, please feel very welcome to join the team for drinks on Thursday night.

Ceylon 1.0 beta now available!

Posted by    |       |    Tagged as Ceylon

It's been a long three years since my first posts on this site describing our ideas for the Ceylon language. Now, finally, Ceylon 1.0 is feature complete. From the announcement on

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.

The team has now switched into bug-fix/performance-enhancement mode, as we prepare for a final release.

Yeah, yeah, three years is a long time, and it's taken longer than I had hoped to get to a 1.0 release. OTOH, we're releasing a lot more than I had expected to have for 1.0. I never imagined that we would have stuff like Ceylon Herd and the IDE ready for Ceylon 1.0.

We have a great little community working on Ceylon development, and I would like to welcome you guys to join us over there, now that we're ready for people to really start making use of Ceylon in their projects!

If you travel in the JBoss universe you should be aware that Red Hat Summit and JUDCon are taking place in Boston between June 10th and June 14th. If you want to meet the persons behind the code, that's a pretty good deal.

Sanne, Emmanuel (that's me), Gavin and Stef are going to give various talks on various Hibernate projects and on Ceylon.

Ceylon workshop

Monday June 10th at JUDCon, Stef, Gavin and I are doing a full day workshop on Ceylon. Come with your laptop and code with us. More info.

Hibernate Search live coding

Tuesday June 11th at JUDCon I will be adding full-text search, faceting and geolocation queries to an application live. I am working hard on this code and not at all on my slides, this should be quite interesting. It is based of the famous TicketMonster app. More info.

Hibernate and Infinispan / JBoss Data Grid

At Red Hat Summit Thursday June 13th, Sanne will talk about the use cases that really benefit from mixing Infinispan / JBoss Data Grid with the Hibernate suite of projects (Hibernate ORM, Hibernate Search and Hibernate OGM). You will see the big work we did to make 1+1=3 with these projects. More info.

Hibernate State of the Union

At Red Hat Summit Wednesday June 12th, I will be giving an overview of what's new in the Hibernate sphere (ORM, Search, OGM, Envers, Validator). A good one to keep your knowledge fresh or if you believe that Hibernate is a JPA compliant ORM and that's it :) More info.

Anyways, feel free to ping us if you are there, we accept chats as long as there is beer, whisky or any kind of good technical content :)

What can you expect at Devoxx 2012?

Posted by    |       |    Tagged as Ceylon Events

I will be at Devoxx this year again - this starts to look like a pilgrimage ;). But I am particularly excited as I have given it a participating twist: less @OneToMany talks more @Code and @ManyToMany interactions. What can you expect from Devoxx?

Ceylon labs

Monday afternoon 13:30-16:30, I will co-host a Ceylon lab with my fellow Ceylon gang members Stéphane Épardaud and Gavin King.

This is your chance to get your hands on Ceylon. Come with your laptop, we will start with the installation and walk you through your first few Ceylon programs.


Tuesday all day, I will be there for the Hackergarten. Want to contribute to Ceylon, Hibernate Search, Hibernate OGM, Bean Validation? Bring your laptop and we will hack together. Secret tip: the hackergarten is open to all, not only to Devoxx attendees.

Bean Validation update

I will also speak about Bean Validation 1.1 on Thursday morning to give you an update now hat we have been working on and what you could expect soon in this area.

Les Cast Codeurs

Finally, if I'm not dead by then, I will co-host an episode of Les Cast Codeurs podcast Friday morning with my buddies Antonio Goncalves, Vicent Massol and Guillaume Laforge. It's in French and it's awesome.

Big JBoss presence

I hear that this year JBoss is coming en masse. If you are a JBoss technology consumer or contributor, come and talk to us. If you are not a JBoss technology consumer or contributor, what are you waiting for, come and talk to us ;)

Ceylon M4 released

Posted by    |       |    Tagged as Ceylon

In case you missed it, we just released the fourth milestone of Ceylon and Ceylon IDE. The next release will be the feature-complete Ceylon 1.0 beta, now due in January. We've also pushed a major update to Ceylon Herd.

This is the first release of Ceylon IDE to include complete support for compilation to JavaScript and execution on Node.js.(Since M3, the Ceylon compiler has offered the option of compiling a Ceylon module to a CommonJS module) I personally love being able to write a snatch of Ceylon code and then watch it execute on both the JVM and Node, all from directly within Eclipse.

Another cool new features of the language is the assert statement. If assertions doesn't sound that cool or new to you, then I bet you have not yet seen Ceylon's unique spin on the concept. You can read more about it at the Ceylon blog.

(P.S. I'm now mostly blogging over at the Ceylon site, and on Google plus, but I'll still post items here from time to time.)

JBoss Community Asylum 26 - Ceylon

Posted by    |       |    Tagged as Ceylon JBoss Asylum

During JBoss World we grabbed Stephan and dragged him to Emmanuel's room to finally create a podcast about Ceylon (listen to the podcast for the full story behind it).

That resulted in a nice hour of us discussing the features of Ceylon, why it was created,what inspired its creation and how to learn and get involved with Ceylon.

Show notes and episode downloads are at Asylum Website


Ceylon M2 "Minitel" released

Posted by    |       |    Tagged as Ceylon

This is the second release of the Ceylon compiler and other command line tools.

You can read Stef's announcement here at the Ceylon blog. The major new features are:

  • Java interoperability
  • enumerated/algebraic types and switch/case
  • first-class and higher-order functions
  • support for remote module repositories and Maven repositories

Try it out!

A huge thanks to the Ceylon team for getting this release done on schedule while I've been taking a break from development! Thanks so much!

Trying out Ceylon's Java interop

Posted by    |       |    Tagged as Ceylon

Great, I'm finally able to write, compile, and run Ceylon code that uses Java libraries from within Ceylon IDE:

import java.lang { System { sysprops=properties } }
import java.util { Date }

void greet() {
    value date = Date();
    print("Hello, " sysprops.getProperty("", "world") 
          ", the date is " "/" date.month "/" 1900+date.year ".");

This doesn't look like much, perhaps, but it's demonstrating some important features of the interoperability:

  1. the ability to map a Java static declaration to a toplevel declaration in Ceylon,
  2. the ability to resolve an invocation to the correct overloaded version,
  3. the equivalence between Java primitive types and java.lang.String and Ceylon types in ceylon.language, and
  4. the automatic mapping of JavaBeans properties to Ceylon attributes.

Here's a second working example:

import java.lang { System { sysprops=properties } }
import { File }

void listHomeDir() {
    for (file in File(sysprops.getProperty("user.home")).listFiles()) {

Java interop has been a somewhat tricky problem for us because Ceylon's type system is somewhat different to Java's, and because the design of Ceylon's language module isn't really based on the Java SDK. When running on the Java VM, the language module does make use of the Java SDK as part of its internal implementation. But when running on a JavaScript VM, it can't, of course. So we have to limit our dependence upon JVM-specific stuff.

We've still got a few things to finish off here. For example, our treatment of arrays and Java Iterables is not completely finished, and some IDE features still aren't working quite right, but I think most of the hard work is already done, ready for release as part of Ceylon M2.

Good work guys!

Ceylon IDE M1 release

Posted by    |       |    Tagged as Ceylon

The first official public release of the Ceylon IDE is out! You can read David's announcement here.

Teaser image

This is a full-featured development environment for Ceylon, with I guess everything you use regularly in your Java IDE, including interactive error reporting, incremental build, syntax highlighting, proposals, quick fixes, refactoring, searching, wizards, hover help, debugging, and much more. It even has a major feature that your Java IDE doesn't have: deep integration with Ceylon's module and module repository architecture. (No more futzing with the project build path!)

Check out the feature list, and some screenshots. Then try it out from our update site.

I'll have more to say about how we were able to engineer an entire professional IDE for a new language in less than 6 months with two part-time developers in a future post.

Once again: thanks to David Festal for all his hard work, and to SERLI for their support.

Ceylon M1 "Newton" released

Posted by    |       |    Tagged as Ceylon

The first release of the Ceylon command line tools is finally available!

Quoting from the release announcement:

Today, we're proud to announce the release of Ceylon M1 "Newton". This is the first official release of the Ceylon command line compiler, documentation compiler, language module, and runtime, and a major step down the roadmap toward Ceylon 1.0. ...

In terms of the language itself, M1 has essentially all the features of Java except enumerated types, user-defined annotations, and reflection. It even incorporates a number of improvements over Java ...

The toolset and runtime for Ceylon is 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.

You can download it right here.

An official M1 release of the Ceylon IDE is on its way.

You can read more about the Ceylon programming language in the Quick Introduction.

Huge thanks to everyone who worked so hard to make this release happen.

back to top