Ceylon — новый язык программирования от Red Hat для JVM, главным разработчиком которого является Gavin King, создатель ORM Hibernate. Целью проекта является создание современного Java-подобного языка со статической типизацией, свободного от болезней роста и исторических недоразумений самого Java.
Компилятор M3 реализует почти всю спецификацию языка Ceylon. Новые возможности этой версии по сравнению с M2 включают:
- поддержку как JVM, так и компиляции в JavaScript;
- интерфейсы с неабстрактными членами (mixins);
- comprehensions (фильтрация и трансформация коллекций);
- анонимные функции;
- каррирование функций;
- декларация функций и объектов прямо в вызове функции при задании аргументов по имени;
- вложенные интерфейсы;
- операции над множествами;
- обращение к внешнему типу из внутреннего (ключевое слово outer).
Следующие функции не вошли в M3, но планируются в окончательной версии:
- переопределение классов-членов класса и семьи типов;
- псевдонимы типов;
- reified generics (сохранение информации о типах дженериков на этапе выполнения, как в .NET);
- определённые пользователем аннотации;
- перехватчики методов (method interceptors);
- типобезопасная метамодель;
- сериализация.
Одновременно с новым компилятором вышел Ceylon IDE M3 — плагин для Eclipse 3.7 Indigo или 4.2 Juno. Новая версия IDE требует Java 7. По сравнению с версией M1 в ней реализованы взаимодействие Ceylon с Java и поддержка репозитория модулей Ceylon Herd.
>>> Подробности