Небольшое отступление. Заметки на этом сайте выходят по мере написания без какой-либо привязки к последовательности, в которой рекомендовал бы темы учебник по языку программирования. Вчера разговор был про функциональное программирование, а сегодня мы устанавливаем компилятор.
Любой компилятор, который проходит стандартный набор тестов, может называть себя компилятором Perl 6. Это одна из основных идей, заложенных при создании языка.
Сегодняшняя реальность такова, что в нашем распоряжении есть только один пригодный для работы инструмент: Rakudo Perl 6. Некоторые из разработчиков предпочитают даже называть весь язык не просто Perl 6, а Rakudo или Rakudo Perl 6. Традиционный компилятор Perl 5 при этом иногда называют Pumpkin(g) Perl 5.
Итак, Ракудо и ничего больше. Но и про него надо знать важную вещь: есть компилятор Rakudo, а есть дистрибутив Rakudo Star.
Сложный путь
Собственно, в компилятор входит сам компилятор и ничего больше. Дистрибутив находится на гитхабе: github.com/rakudo/rakudo. Этот вариант подойдет тем, кто предпочитает собирать все вручную. Но потребуется установить еще два компонента: Not Quite Perl 6 (NQP) — упрощенную версию Perl 6 — и виртуальную машину MoarVM.
Установка дополнительных компонентов не вызывает сложностей, так как сам Ракудо может об этом позаботиться:
perl Configure.pl --gen-moar --gen-nqp --backends=moar
Компилятор обновляется примерно раз в месяц.
Простой путь
Если вы не планируете изучать внутренности Rakudo, поставьте Rakudo Star. Помимо NQP и MoarVM, он содержит набор стандартных модулей и утилиту для установки новых модулей.
Для Windows и Mac OS существуют готовые установщики, которые все сделают сами. Для Линуксов опубликованы инструкции по сборке. Все свежие ссылки находятся на странице rakudo.org/how-to-get-rakudo.
Релиз Rakudo Star случается обычно раз в квартал, поэтому не забывайте его время от времени обновлять.
Если все получилось, компилятор сможет напечатать свою версию:
$ perl6 -v This is Rakudo version 2017.12-88-g8fd776f built on MoarVM version 2017.12-1-g912f967 implementing Perl 6.c.
Помимо версии компилятора и виртуальной машины, здесь видна и версия самого перла: 6.c.