Perl 6 / все про setup

Еще раз о сборке 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

Установка 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