Perl 6 вышел в свет
Несколько дней назад Perl 6 исполнилось 10 лет. А 29 июля вышел в свет первый релиз компилятора Perl 6 Rakudo Star.
Rakudo Star (Rakudo *) — это отдельный дистрибутив Rakudo, который помимо компилятора включает в себя еще несколько компонент, в частности, набор полезных модулей и инструментов для работы с внешними библиотеками.
Подробности о релизе опубликованы на сайте проекта: rakudo.org/announce/rakudo-star/2010.07, а скачать дистрибутив можно на гитхабе: github.com/rakudo/star/downloads.
Целевая аудитория Rakudo Star — разработчики, желающие попробовать Perl 6 в действии уже сегодня. Компилятор понимает подмножество языка, определенного спецификацией (которая сама по себе довольно обширна). Согласно философии, положенной в основу Perl 6, язык определяется спецификацией, и любой компилятор, проходящий официальный набор тестов, считается компилятором Perl 6.
Разработчики сообщают, что компилятор содержит некоторое число ошибок и не обеспечивает слишком высокую скорость. Но — здесь надо сделать смысловое ударение — назначение нынешнего релиза никак не противоречит упомянутым недостаткам. Напротив, в отличие от регулярных дистрибутивов, выходивших в прошлые месяцы, Rakudo Star — максимально самодостаточен.
В состав Rakudo Star входят
компилятор Rakudo, релиз 31;
виртуальная машина Parrot, версия 2.6.0;
набор модулей и инструментов;
документация;
черновик книги про Perl 6 (на английском языке).
Планируется ежемесячное обновление этого комплекта.
Среди включенного в релиз:
Blizkost — библиотека для использования модулей Perl 5 в программах на Perl 6;
MiniDBI — простой интерфейс к базам данных;
Zavolaj — библиотека для вызова функций из C-библиотек;
SVG and SVG::Plot — модули для создания векторной графики;
HTTP::Daemon — простой HTTP-сервер;
XML::Writer — модуль для генерации XML;
YAML — модуль для печати объектов Perl 6 в виде YAML;
Term::ANSIColor — модуль для работы с терминалом :-);
Test::Mock — модуль, облегчающий тестирование с так называемыми мок-объектами (объектами-заглушками);
Math::Model — модуль для описания и запуска математических моделей;
Config::INI — парсер конфигурационных файлов;
File::Find — модуль для поиска файлов;
LWP::Simple — модуль для загрузки документов по сети.
Важно отметить, что с приходом Perl 6 сразу же встает вопрос о том, что модули, созданные на Perl 5, без существенных изменений их кода работать не смогут. Поэтому в этом списке фигурируют модули, одноименные существующим и доступными на CPAN, но переписанными на Perl 6. Во многих случаях это способствует улучшению кода модулей. Там, где требуется воспользоваться старыми модулями, предлагается обратиться к библиотекам Blizkost и Zavolaj.
На сегодня известно более полусотни проектов — модулей и отдельных приложений, написанных на Perl 6. Их перечень и ссылки на код собраны на сайте modules.perl6.org.
Название Rakudo образовано от японского словосочетания Rakudo-do («путь верблюда»). Будучи сокращенным до Rakudo, оно случайно совпало с японским словом рай.
В разработке Rakudo в разное время принимали участие 76 человек. Отдельные фрагменты были созданы в ходе хакмита на прошедшей этим летом в Киеве совместной конференции Perl Mova + YAPC::Russia.
Через неделю, в начале августа, на конференции YAPC::Europe 2010 в Пизе ожидается несколько докладов как о самом компиляторе, так и о языке Perl 6, а помимо этого запланированы учебные курсы, посвященные освоению языка.
rakudo, release — 29 июля 2010
Объявлена дата первого релиза Perl 6
На конференции YAPC::Europe 2009 Патрик Мишо объявил дату релиза Rakudo Perl 6.
Весной 2010 разработчики планируют выпустить работоспособную и пригодную для использования версию компилятора, покрывающую часть языка.
rakudo, release — 4 августа 2009