Увидел свет Rakudo Star, первый готовый к использованию дистрибутив Perl 6
Выпуск Rakudo Star является своеобразным компромиссом, родившимся после того, как разработчики осознали, что с момента начала разработки Perl 6 прошло уже 9 лет, а все намеченные планы еще не достигнуты. После оценки ситуации было решено выпустить готовую к использованию неискушенными разработчиками реализацию языка, в которой обеспечить качественную поддержку уже готовых элементов Perl6. Разработчики признают, что производительность Rakudo Star оставляет желать лучшего, в коде остаются некоторые неисправленные ошибки и не все задуманные части спецификации Perl6 поддерживаются. Несмотря на подобные недоработки, Rakudo Star не является тестовой версией и достаточно стабилен для начала внедрения.
Первому релизу решено не присваивать определенный номер версии, а выпустить его как "Rakudo *", так как 1.0 подразумевает законченность релиза, а 0.x может быть воспринята как непригодность к полноценному использованию. В дальнейшем код будет дорабатываться в плане более полной поддержки всех задуманных возможностей. В будущем обновления к Rakudo Star, в которых постепенно будет наращиваться недостающая функциональность, планируется выпускать раз в месяц. По мнению разработчиков, заложенной в первый релиз функциональности должно хватить для знакомства с языком не вовлеченных в разработку Perl 6 программистов и начала создания первых серьезных проектов на Perl 6.
Реализованные в Rakudo Star элементы языка Perl6:
- Грамматика Perl 6 и регулярные выражения;
- Списки формальных параметров и сигнатуры;
- Метаоператоры;
- Последовательная типизация;
- Новая мощная объектная модель, включающая поддержку классов и ролей;
- Отложенные вычисления списков (lazy list evaluation)
- Мультиметоды (множественная диспетчеризация);
- Поддержка оператора "умного" сопоставления "~~" (smart matching)
- Спайки и "autothreading";
- Перегрузка операторов;
- Интроспекция;
- Каррирование;
- Библиотека с богатым набором встроенных операторов, функций и типов;
- Интерактивный цикл обработки "чтение-вычисление-вывод";
- Поддержка Unicode на уровне codepoint-символов;
- Возобновляемые исключения (resumable exceptions).
Возможности, присутствующие в спецификации Perl 6, но еще не пригодные для использования в Rakudo Star:
- Вложенное определение пакетов;
- Бинарные объекты, нативные типы, pack и unpack;
- Типизированные массивы;
- Макросы;
- Определяющие состояние переменные (state variable)
- Потоки и конкурирующее выполнение;
- pre и post ограничения;
- Неблокирующий ввод/вывод;
- Synopsis 9;
- Утилита perl6doc или инструменты для манипулирования pod-файлами.
Из включенных в поставку Rakudo Star дополнительных модулей можно отметить:
- Blizkost - позволяет использовать в Rakudo Perl 6 некоторые созданные для Perl 5 модули;
- MiniDBI - простой DBI-интерфейс для обращения к базам данных;
- Zavolaj - позволяет вызывать из Rakudo Perl 6 библиотеки функций, написанные на языке Си;
- SVG и SVG::Plot - позволяет создавать векторные SVG-изображения;
- HTTP::Daemon - модуль, позволяющий интегрировать в скрипт функции HTTP-сервера;
- XML::Writer - генератор XML
- YAML - позволяет преобразовывать Perl 6 объекты в YAML-представление;
- Math::Model - модуль для описания и вычисления математических моделей;
- Config::INI - модуль для парсинга и генерации файлов конфигурации;
- File::Find - модуль для рекурсивного обхода дерева директорий;
- LWP::Simple - модуль с функциями для взаимодействия с web-ресурсами.
Источник: http://www.opennet.ru/opennews/art.shtml?num=27471
|
0 | Tweet | Нравится |
|