Увидел свет Rakudo Star, первый готовый к использованию дистрибутив Perl 6
Разработчики проекта Rakudo объявили о выходе релиза Rakudo Star, в рамках которого представлен полностью работоспособный и готовый к использованию комплект с реализацией языка Perl 6 на базе виртуальной машины Parrot. Дистрибутив включает в себя компилятор Rakudo Perl 6, виртуальную машину Parrot и набор необходимых для разработки программ библиотек и модулей. Несмотря на то, что выпуск пригоден для широкого использования, он в первую очередь позиционируется для проведения экспериментов и начального знакомства разработчиков с особенностями языка Perl6.Выпуск 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;
- Возобновляемые исключения (resumable exceptions).
Из включенных в поставку 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-ресурсами.
© OpenNet