Blog of Emmanuel Bernard

Podcast Interview on Ceylon (in French)

Stéphane and I have been interviewed in Les Cast Codeurs Podcast. We casually discuss Ceylon for a little more than an hour. We touched on the philosophy of the language, dived in some of the features and discussed the future and the community.

The only catch is that we talk in French. Now you have to learn two new languages :)

You can listen to the Ceylon episode directly or see it in iTunes.

Last minute gifts - IDE screenshots and forums

Gavin has just created a very nice set of screenshots picturing what our IDE is capable of. Have a look at it, a picture is worth a thousand words so imagine 13!


More info on the IDE

I also wanted to point out that with the release of Milestone 1, we have opened up the user centered forum on Google groups. Come join the fun and feel free to ask any questions, comments etc we want to know what you think and what we need to improve.

Happy holidays everyone :)

Ceylon after two weeks

This has been almost two weeks since Stephane and I have done our presentation at Devoxx and revealed the Ceylon community. Let me give you some feedback.


Our IDE sneak preview has been very popular. Not surprising since it let's you play with Ceylon right from your comfy Eclipse seat in five minutes.

Many thanks to our early testers for finding a few bugs including the infamous issue 107 which basically was shutting down Eclipse if the language module was not installed (yep the System.exit(1) was mine :) ).

All of this is now fixed and David has pushed a new IDE release with many improvements. Make sure to update the Eclipse plugin (Help->Check for updates).


We are very happy with how the community is shaping up. We had a few interesting and engaging discussions as well as contributions. Just one example: Visibility model ; we have been discussing how to improveupon our visibility model (the shared keyword).

That's exactly how we wanted it to be, so keep coming :) If you are interested, Gavin marks discussions as request for feedback in our issue tracker.

Or simply join our development mailing list. We have recently discussed Java interop, killer features that should or should not be added and more.


The website had a few glitches including an faulty atom feed. This is now fixed. We took the opportunity to improve ceylondoc (the equivalent of javadoc). You can now search for a type, attribute, method name etc right from the page. Thanks Stef for the jQuery wizardry.

That's all forks, if you are interested, please join the fun and come contribute by talking or by coding.

Wire the site with spec and ceylondoc

The site now integrates the specification and the ceylondoc for ceylon.language.

How to build the integrated site

Run ./ from the root of your repository. This will

  • clone or refresh the ceylon-spec, ceylon.language and ceylon-compiler repos
  • build the documentation as of the latest in master
  • push the bits in the generated directory of awestruct

How to reference the spec or the ceylondoc

This information is out dated and has changed in later versions of the website, check out our how to edit a page section.

If you want to point the spec to a user in the site, point to /documentation/1.0/spec. This page show the spec in HTML, HTML in single page and PDF.

If you want to point to a specific paragraph in the spec, use the variable site.urls.spec.current and the anchor to the paragraph in the spec.

eg This is a [pointer to the spec](#{site.urls.spec}#anchor-in-spec).

That means the specification anchors should be stable.

Likewise, to point to a ceylondoc entry, use the variable site.urls.apidocs.

[Doc for Comparable](#{site.urls.apidoc_current}/ceylon/language/Comparable.html)

By using these placeholders, we will be able to move the spec or ceylondoc to other places. Note that /documentation/1.0/api page is pretty useless as it is but should be fixed in ceylondoc.

Home page has a news section

The website home page now has an automatically filled news section.

When you want to advertize a news, add a file to _data/news with the following structure

title: 'My exciting news'
date: 29 August, 2011
more_info_url: /my/url/with/more/details
effective_date: 20110829
Some exciting news today.

A typical example would be

title: 'News section is up'
date: 29 August, 2011
more_info_url: /blog/2011-08-29-news-section/
effective_date: 20110829
The website news section is now up.


I could have reused blog entries tagged #news but it turns out that the first 50 characters a not often useful. So I've decided to go for the explicit _data/news structure.