Perl 6 / все про rakudo

Хакатон про Perl 6

13 мая (в пятницу) в рамках конференции YAPC::Russia «May Perl — 4» + Perl Mova состоится хакатон, посвященный компилятору Perl 6 Rakudo. Мероприятие состоится в помещении центра «Цифровой октябрь» по адресу: Москва, Берсеневская набережная, 6. Карта проезда: digitaloctober.ru/contact.

Вход свободный. Начало в 10:00 (можно подтягиваться попозже).

Если вы собираетесь принять участие в хакатоне, приносите свой ноутбук, на котором установлен по крайней мере git.

hackathon, rakudo, yapc — 12 мая 2011

Потребление памяти в Rakudo

Мориц Ленц сообщает о том, что на своих экспериментах по расчету физических явлений он заметил существенное снижение объема памяти, потребляемого Rakudo.

Правки, устраняющие утечку памяти, — всего несколько строк, но зато теперь можно построить гигантскую картинку с изображением множества Мандельброта. Мориц показывает пример 1001×1001. Еще в мае более или менее быстро — и, что важнее, без падений — можно было построить картинку в 25 раз меньшую по площади.

speed, rakudo, leak, mandel — 26 августа 2010

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

Вышел Rakudo Star

github.com/rakudo/star/downloads

rakudo — 29 июля 2010

Июньский релиз Rakudo — «Kiev»

30-й релиз Rakudo Perl 6 вышел под кодовым названием «Kiev».

Решение о названии принято после того, как на хакмите в Киеве в разработку было успешно вовлечено несколько желающих (никогда раньше этим не занимавшихся) и сделано несколько коммитов.

Сейчас компилятор проходит 33 378 тестов из спецификации, что составляет около 83% их общего числа.

rakudo, kiev — 18 июня 2010

Апрельский релиз Rakudo — «Moscow»

28-й релиз Rakudo Perl 6 вышел под кодовым названием «Moscow».

Решение о названии, в частности, принято из-за того, что в апреле в Москву приезжал Джонатан Вортингтон, один из разработчиков Rakudo.

Сейчас компилятор проходит 30 931 тест из спецификации, что составляет около 79% их общего числа.

rakudo, moscow — 22 апреля 2010

Яндекс знает

Яндекс считает, что в слове Rakudo не меньше двух опечаток.

rakudo, internet — 27 сентября 2009

Объявлена дата первого релиза Perl 6

На конференции YAPC::Europe 2009 Патрик Мишо объявил дату релиза Rakudo Perl 6.

Весной 2010 разработчики планируют выпустить работоспособную и пригодную для использования версию компилятора, покрывающую часть языка.

rakudo, release — 4 августа 2009

Еще раз о сборке Perl 6

За несколько лет истории Perl 6 существовали несколько разных компиляторов, которые считались основными в то или иное время. Соответственно, несколько раз менялся и набор инструкций, которые нужно было выполнить, чтобы получить работающий компилятор.

Ракудо, который на сегодня является единственным компилятором, который развивается, недавно входил в состав виртуальной машины Parrot, но теперь находится в собственном репозитории. Процесс сборки в очередной раз изменился, и теперь он состоит из двух шагов: установки parrot, а затем собственно rakudo.

Установка Parrot

svn co https://svn.parrot.org/parrot/trunk/ parrot
cd parrot
perl Configure.pl
make
make install

(Последний шаг необязателен.) После этого будет установлена виртуальная машина:

# parrot -V
This is parrot version 0.9.0-devel built for i386-linux.
Copyright (C) 2001-2008, The Perl Foundation.

Установка Rakudo

Хотя rakudo и находится в отдельном репозитории, дистрибутив желательно скопировать в каталог parrot/languages (там же находится и каталог perl6, который теперь не потребуется).

cd languages
git clone git://github.com/rakudo/rakudo.git rakudo
cd rakudo
perl Configure.pl
make

В каталоге parrot/languages/rakudo теперь должен появиться файл perl6.pbc — скомпилированный в байт-код компилятор Rakudo. Чтобы запустить интерпретатор Perl 6, нужно передать этот файл на исполнение виртуальной машине:

../../parrot perl6.pbc

Для удобства можно создать командный файл, в который записать нужный вызов (в этом примере parrot находится в каталоге /software/parrot):

cat > /usr/bin/perl6
#!/bin/sh /software/parrot/parrot /software/parrot/languages/rakudo/perl6.pbc "$@"
^D
chmod a+x /usr/bin/perl6

Компилятор собран:

# perl6 -v
This is Rakudo Perl 6, revision 36430 built on parrot 0.9.0-devel for i486-linux-gnu-thread-multi.
# perl6
> .say for 1..3
1
2
3
>

setup, compile, rakudo, parrot — 8 февраля 2009

Vladivostok.pm, November и Rakudo

Карл Масак сообщает в своем журнале о том, что к разработке вики на Perl 6 присоединился Илья Белкин из Владивостока. В частности, авторов очень радует наличие в коде комментариев на русском языке:

# TODO: Довести до ума, чтобы корректно работало с
#       существующими но не определенными $key
#       (Make code work properly with an existing but
#       undefined $key)

# RAKUDO: Hash.:exists еще не релизован (Hash.:exists not
#         implemented yet)

november, rakudo — 4 сентября 2008

November wiki в онлайне

Вики-движок, о котором говорилось в предыдущей заметке, теперь доступен в демо-режиме в интернете: www.november-wiki.org. Движок, названный November, написан на Perl 6 и работает под управлением Rakudo.

rakudo, demo, november — 22 августа 2008

100 000 долларов на развитие Perl 6

The Perl Foundation получила 200 000 долларов от сооснователя Firebird Management LLC Ian Hague. Половину этой суммы фонд планирует направить на развитие Perl 6.

Не так давно Джонатан Вортингтон получил предложение на целевой грант от Vienna.pm в размере около 2000 евро для развития Rakudo. Еще один грант в 500 евро Джонатан получил на посещение двух европейских мероприятий, куда его пригласили выступить с докладами по текущим разработкам. Кроме того, известно, что в ближайшее время разработку Perl 6 планирует спонсировать одна из российских компаний (следите за новостями).

funding, rakudo, TPF — 17 мая 2008

Установка Perl 6 под парротом

Последние дистрибутивы Parrot (начиная с 0.5.2) содержат полностью работоспособоный и легкий в установке компилятор Perl 6, который, хотя и реализует лишь малую часть того, что должно быть в языке, реанимирует изначальную идею Perl 6 — преобразовывать программу в байт-код и выполнять ее виртуальной машиной.

Дистрибутив Parrot доступен на CPAN и занимает около 5 МБ. Установка проста:

perl Configure.pl
make
make reallyinstall

(Читатель Dmitriy Dzema из Владивостока пишет: Не советую делать reallyinstall для пэррота. Потом при обновлениях полезут баги. Лучше просто добавить папку со скомпиленным пэрротом в PATH.)

После этого заработает сам Parrot:

$ parrot -V
This is parrot version 0.5.2 built for nojit.
Copyright (C) 2001-2007, The Perl Foundation.

Чтобы получить perl6, нужно зайти в каталог languages/perl6, и выполнить команду

make perl6

Теперь доступен компилятор Perl 6:

$ perl6 -v 
This is perl6, revision 0 built on parrot 0.5.2
for darwin-2level.
Copyright 2006-2008, The Perl Foundation.

Обратите внимание, что для печати версии Parrot по-прежнему ожидает ключ -V в верхнем регистре, а perl6 - в нижнем.

rakudo, setup, parrot — 21 января 2008

Rakudo

Реализация Perl 6 на парроте теперь официально называется Rakudo. Сайт проекта — http://rakudo.org.

Название предложил Дамиан Конвей. Это японское слово, которое существует в языке в таком сокращенном виде (оригинально Rakuda-do) и обозначат «Путь верблюда».

rakudo, parrot — 17 января 2008