Я нашел идеальный на сегодня формат для написания статей в этом блоге, ведения документации по разрабатываемому коду, инструмент создания отчетов. Это расширяемый и просто удобный язык разметки - Perldoc Pod.

Perldoc Pod - эволюция POD

Согласно спецификации на новый диалект Pod для perl6, различие между Pod и POD существенное.

Pod - является эволюцией ( не мутацией! ) Perl5 Plain Old Documentation ( POD ). Внешне новый диалект похож на POD, но более компактен. В нем отсутствуют обязательные отступы между директивами, более компактно описываются списки ( нет =over и =back ), а также имеется особый формат для блоков текста - Сокращенные блоки ( Abbreviated blocks ).

Перечисленные достоинства мелочь, в сравнении с самым главным - расширяемостью. Pod позволяет определять собственные директивы и коды форматирования. Поэтому области применения Pod не ограничены только встроенной документацией для Perl кода.

Pod в качестве языка разметки для блога

Это первая статья, написанная на диалекте Perldoc Pod. Oн идеально подошел к задаче основного формата для создания статей на этом сайте, где до настоящего момента использовался Perl5 POD. Приходилось прибегать к некрасивым хакам, например, чтобы сделать возможным поддержку изображений в документах. В новом Pod для решения подобных задач предусмотрено подключение собственных директив и кодов форматирования.

Расширения для Perl6's Pod

О том как создавать расширения для Perdoc Pod, а так же где можно использовать документы Pod, я собираюсь рассказать на втором белорусском воркшопе BY_PERL.

Для получения представления об основных новшествах Perldoc Pod рекомендую:

Обнаружил забавную похожесть в названиях логотипов perl5 и perl6. Если для perl5 - это Camel, то для perl6 - Camelia.

Установка rakudo

В вышедшей последней версии rakudo #20 ("PDX"), стало возможным собрать rakudo с уже установленным ранее parrot. Это позволило облегчить порт rakudo для FreeBSD. Правда для установки parrot требуется задавать дополнительные цели при сборки. Это учтено в патче, который я подготовил для официального порта. Таким образом для установки последней версии parrot и rakudo необходимо:

  • Установить parrot 1.5.0

Источник порта расположен по адресу : parrot-1.5.0.tgz

  • Установить rakudo #20

Скачать порт по адресу : rakudo-200908.tgz и установить.

Порт, который позволяет обновлять parrot и rakudo из соответствующих репозиториев, остается цельным и располагается здесь : downloads.sourceforge.net/rakudoport/rakudo-devel-200908.tgz.

Мои боевые достижения

Они пока только в виде PR (Problem Reports). Неожиданно долгим оказался процесс внесения их в дерево официальных портов FreeBSD, но зато их количество растет:

Не хватает еще одного (пятого) PR до "звездочки".

Comments:2

Наибольший фан от perl5 - знакомство с идеями и опытом других разработчиков, а так же его применение для своих задач. CPAN - величайшее сосредоточение массы знаний сообщества perl5 разработчиков. Явно указанная версия 5 - намек, что все вышесказанное не относится к perl6.

CPAN - Comprehensive Perl5 Perl6 Parrot PBC Python PHP Archive Network

CPAN6 - архив программного кода не только perl6. Почему не только perl6 ? Потому, что это архив для языков поддерживаемых parrot.

Parrot - виртуальный процессор, разработанный для компиляции и выполнения байт-кода интерпретируемых ( динамических ) языков программирования. Количество реализаций для различных языков программирования можно оценить на странице. Большинство из них в сотоянии разрабоки. Есть среди них - rakudo - реализация языка perl6.

Великий смысл parrot - разработка на знакомом языке программирования с использованием библиотек, написанных на других языках. Таким образом ведя разработку на perl6, можно использовать библиотеки perl5 и Java, или PHP. И наоборот: в PHP подключать python библиотеки.

Вот и получается, что CPAN6 - это архив не только perl6.

Возможно весной , когда появится первая стабильная версия rakudo, активизируется движение в разработке CPAN6. Пока только идеи, которые можно посмотреть на сайте проекта CPAN6.org.

devel/p6-perl6-toys - собрание библиотек perl6

Этот порт появился по причине интереса к использованию perl6 и его возможностям. В отсутствие единого хранилища perl6 библиотек, они собраны из открытых репозиториев. Пока только два проекта вошли в порт - wiki движок November и шаблонизатор template-toolkit. Главным критерием отбора является компиляция исходного текста .pm библиотек в байт-код.

Порт p6-perl6-toys для FreeBSD доступен на странице rakudoport. Процесс установки прост:

  • Скачать порт и распаковать

p6-perl6-toys-0.0.1.tgz

  • Установить
    make install

Библиотеки perl6 устанавливаются в /usr/local/lib/perl6. Для их подключения требуется установить переменную PERL6LIB.

Пример запуска тестов november:

    env PERL6LIB=/usr/local/lib/perl6 prove --perl 'perl6' -r t

Чтобы сделать использование perl6 проще, можно добавить определение переменной в файл .cshrc:

    setenv PERL6LIB "/usr/local/lib/perl6:./"

Тогда достаточно:

    prove --perl 'perl6' -r t

Для установки библиотек, помимо порта p6-perl6-toys, можно также воспользоваться проектом proto - попытка создания системы управления зависимостями и установкой библиотек для perl6. У него имеется свой менеджер установки как библиотек, так и parrot и rakudo.

lang/rakudo, lang/rakudo-devel, а так же сайт проекта

Обновил сайт проекта rakudoport. По этому адресу располагаются порты для установки последних версий parrot и rakudo. Порт lang/rakudo-devel позволяет обновлять исходники обоих проектов самостоятельно.

Планов по развитию сайта проекта изначально не было, поэтому сайт представлял просто страницу с краткой информацией о проекте. Возникшая задержка с добавлением портов в официальное дерево FreeBSD дало повод облагородить ее и переписать на Perldoc Pod ( Perl6 pod ). Теперь это - страница, целиком созданная в Perldoc формате. По ссылке в нижней части страницы можно посмотреть оригинал.

В FreeBSD лучшая поддержка perl6 !

И вот почему:

Благодря этим портам оказывается, что в FreeBSD:

  • perl6 можно запустить просто набрав команду perl6
  • посмотреть библиотеки проектов, которые его используют
  • попробовать написать простой скрипт
  • и это просто сделать сегодня и прямо сейчас !!!

Comments:0

Pittsburgh - имя очередной версии Rakudo - реализации perl6 на ассемблере для виртуальной машины Parrot.

Регулярные выпуски Rakudo и Parrot

Версии Rakudo ( как и parrot) выходят ежемесячно - каждый третий четверг месяца. Они нумеруются последовательно, одним числом с решеткой перед ним. Вот пример состоявшихся выпусков:

    2009-02-26   Rakudo #14 "Vienna"
    2009-03-20   Rakudo #15 "Oslo"
    2009-04-23   Rakudo #16 "Bratislava"
    2009-05-21   Rakudo #17 "Stockholm"

До версии #14 Rakudo выходил в составе каждой версии Parrot, т.к. являлся составной частью его репозитория. С февраля Rakudo переехал на github.

Каждой версии Rakudo, помимо числового значения, присваивается имя одного из международных perl сообществ. Имя сообщества выбирается произвольно, но должно быть связано с какой-либо активностью этого сообщества на момент выхода версии или интересной историей, имеющей отношение к perl6.

Так например для версии #16("Bratislava") была выбрана Perl группа Bratislava.pm. Как объясняется в документации к этой версии, потому, что в Братиславе (столице Словакии) живет разработчик perl6 Jonathan Worthington, а сам город - замечательное место потребления пива, которое является ключевым компонентом вклада Jonathan в perl. :-)

Для последней версии #18 выбрано имя "Pittsburgh". В этом городе прошла ( 24-25 июня ) юбилейная perl конференция YAPC10 и Parrot воркшоп.

Для предстоящих выпусков Rakudo подготовлены имена следующих групп:

    BristolBath.pm
    Milan.pm
    Seoul.pm

Когда-нибудь возможно появиться в этом списке и Moscow.pm...

Rakudoport - порт rakudo для FreeBSD

Обновил порт Rakudo (perl6) для FreeBSD. Скачать его можно по следующей ссылке: rakudo-200906.tgz

Есть также порт с возможностью установки последних версий Rakudo и Parrot непосредственно из репозиториев обоих проектов: rakudo-devel-200906.tgz

Теоретически пакет, подготовленный мной для FreeBSD порта, можно использовать на любом Linux.

Для этого необходимо:

  1. Скачать файл rakudo-200906-parrot-1.3.0.tar.gz
  2. Распаковать
  3. Выполнить команду:
        gmake install
    
  4. Если требуется обновление:
        gmake update
    

Cпецифичных для FreeBSD хаков при сборке нет, поэтому высока вероятность, что можно использовать и под Linux. Проверить установку пока не получается по причине отсутствия в пределах досягаемости машины с Linux.

Предварительно установить perl 5.8.0,m4, bison,libgmp4 icudata и flex.

Включение в официальное дерево портов

Написал еще одно письмо майнтейнеру портов из FreeBSD - Сергею Скворцову. Уже как полгода нет его реакции по моим pr (130629, 132772) для добавления rakudo в официальное дерево портов FreeBSD.

Comments:0

<<Раньше - Позже>>