perl6.suОсвоим perl6 к 2015 году!

установка


       Itaque, имеем Debian Lenny. Скачиваем и распаковываем файл с дистрибутивом Rakudo Star:
       wget http://github.com/downloads/rakudo/star/rakudo-star-2010.07.tar.gz
       tar -zxf rakudo-star-2010.07.tar.gz
       Заходим сразу как root.
       Заходим в образовавшийся каталог:
       cd rakudo-star-2010.07
       Читаем README.
       Нужно, чтобы стоял make и был уже Perl 5.8.4 или новее. make есть, perl имеем 5.10.
       Написано, что для дебиана или убунту нужно ещё кое-что:
       aptitude install build-essential libicu-dev subversion
       Выполняем. Читаем дальше. Ещё кое-что нужно:
       aptitude install libreadline5-dev
       Ставим. Читаем. Ещё:
       aptitude install libperl-dev
       Читаем. Убеждаемся, что находимся в каталоге, где имеем Configure.pl. Выполняем:
       perl Configure.pl --gen-parrot
       make
       make install
       Теперь имеем всё наше долгожданное богатство в одном каталоге, install. Читаем дальше. Хорошо бы сразу поставить модуль Blizkost, который позволит запускать модули из perl 5. Это хорошо.
       make blizkost-install
       Похоже, что близкость тоже установилась в install. По крайней мере, в install/bin имеем parrot-blizkost. Ладно, потом разберёмся. Нам надо наконец положить каталог install в подходящее место. Можно например в /usr/local:
       cp -rf install/* /usr/local
       Мешает копированию ссылка man -> share/man. Удаляем её, повторяем копирование. Всё удачно скопировалось. Теперь у нас в командной строке поселился perl6:
       perl6 -v
       Созерцаем:
       This is Rakudo Perl 6, version 2010.07-47-g9fd5eaa built on parrot 2.6.0
       Copyright 2008-2010, The Perl Foundation
       Но мы добиваемся того, чтобы можно было начинать наши скрипты с "#!/usr/bin/perl6". Поэтому делаем ссылку:
       ln -s /usr/local/bin/perl6 /usr/bin
       Нас терзают смутные сомнения. На всякий случай добавляем ссылку на паррот:
       ln -s /usr/local/bin/parrot /usr/bin
       Пробуем наш скрипт:
    
#!/usr/bin/perl6
print "Hello world!\n";
say "Здравствуй, мир!";
"Ave mundus!\n".print;
"Освоим perl 6 к 2015 году!".say;
Hello world!
Здравствуй, мир!
Ave mundus!
Освоим perl 6 к 2015 году!

       Прыгаем от счастья. Можно программировать.

Extra
http://github.com/downloads/rakudo/star/rakudo-star-2010.07.tar.gz   
# mutatio postrema: 28 Apr 2011


       26 августа произошел второй по счету релиз звездного ракудо, 2010.08.
       Correctiones:
       - исправили утечку памяти для циклов
       - местами значительное ускорение
       - etc.
       Качаем. Разархивируем. Читаем README. Вроде бы для debian новых зависимостей не добавлено. Ставим.
       perl Configure.pl --gen-parrot
       make
       make install
       Ставим сразу близкость. Надо же её рано или поздно попробовать.
       make blizkost-install
       Переносим все добро на место:
       cp -rf install/* /usr/local
       Itaque...
       perl6 -v
       This is Rakudo Perl 6, version 2010.08 built on parrot 2.7.0
       Copyright 2008-2010, The Perl Foundation
       Имеем новую версию ракудо.

Extra
http://github.com/rakudo/star/downloads   
http://rakudo.org   
# mutatio postrema: 27 Aug 2010


       29 сентября 2010 года вышел новый релиз ракудо, 2010.09. Всякие разные улучшения. Ставим всё как и в прошлые разы.
       Сразу проверяем на производительность, складывая числа. Ничего с прошлого раза не изменилось. Утечка памяти, ошибка сегментирования. Будем ждать следующих релизов.

Extra
http://github.com/rakudo/star/downloads   
# mutatio postrema: 1 Oct 2010


       Пропустив октябрьский релиз, смотрим новый выпуск ракудо, 2010.11. Опять разные улучшения, но до полноценного выпуска, видимо, еще очень далеко.
       Brevi manu ставим:
       perl Configure.pl --gen-parrot
       make
       make install
       В этот раз компиляция заняла изрядное время.
       Сразу проверяем на производительность, складывая числа. Пятый перл за 0.146 секунды складывает числа от одного до миллиона. Шестой за... Я честно ждал 42 минуты, но так и не дождался. Утечка памяти замедлилась раз в сто, но есть.

Extra
http://github.com/rakudo/star/downloads   
# mutatio postrema: 29 Nov 2010


       Декабрьский выпуск ракудо.
       Ставим как обычно. У меня свеженький Debian "Squeeze". Поэтому надо предварительно не забыть:
       aptitude install build-essential libicu-dev subversion libreadline5-dev
       Близкость не захотела компилироваться:
       /usr/bin/ld: cannot find -lperl
       Доверившись интуиции, я внимательно прочитал README. Оказалось, что забыл:
       aptitude install libperl-dev
       Производительность не изменилась. За пять минут утекло оголо гигабайта памяти.

Extra
http://github.com/rakudo/star/downloads   
# mutatio postrema: 3 Jan 2011


       С пропуском в два месяца вышел апрельский ракудо.
       Ставим как обычно, только теперь потребовалось явно указать --prefix=
       perl Configure.pl --prefix=/usr/local --gen-parrot
       make
       make install
       make blizkost-install
       Пора посчитать сколько будет сумма чисел от одного до миллиона.
       Прошло полчаса...
       Скрипт отъел 1.2 гигабайта оперативки, но стойко выполняется.
       А еще перестали выполняться многие примеры на этом сайте...

Extra
http://github.com/rakudo/star/downloads   
# mutatio postrema: 20 Aug 2011


       Спустя три месяца вышло новое ракудо.
       Ставим как обычно...
       Складываем как обычно числа от одного до миллиона...
       Прошло всего лишь 14 минут. Хотя памяти отъело полтора гига из двух, но все же скрипт доработал до конца и вывел верную сумму.

Extra
http://github.com/rakudo/star/downloads   
# mutatio postrema: 20 Aug 2011


       Спустя большой промежуток времени вышло новое ракудо.
       Ставим как обычно...
       Почему-то не получается поставить blizkost (make: "нет правила для сборки цели...")
       Складываем как обычно числа от одного до миллиона...
       Прошло всего лишь 43 секунды, что относительно предыдущих версий совсем не плохо. Понятно, что производительность нельзя исчислять только скоростью складывания натуральных чисел, но эти 43 секунды уже радуют. Для сравнения: perl 5 проделывает то же самое у меня на машине за 0.15 сек. Разница почти в триста раз.
       Утечка памяти тоже изменилась. Почти сразу скрипт отъедает где-то 380 МБ, затем почти перестает это делать.
       На сайте ракудо перечислен ряд изменений. Exempli gratia:
       - теперь дистрибутив ракудо основан на новой модели объектов ("nom"), что позволило разработчиком расширить функционал и повысить корректность,
       - значительное улучшение производительности,
       - поддержка POD6
       - et cetera.
       Запустив скрипты-опыты из предыдущих 99 нот, я обнаружил ряд поломок. Например в ряде случаев метод round работает некорректно. Цепочка действий теперь может включать не более 160 оных (раньше было 240).
       Видимо, должно пройти еще полгода-год, прежде чем rakudo можно будет использовать в работе. Ну что же, будем пока потихоньку продолжать изучение.
       NB. В каталоге docs дистрибутива есть интересная шпаргалка cheatsheet.txt. Надо поизучать.

Extra
http://rakudo.org   
http://github.com/rakudo/star/downloads   
# mutatio postrema: 30 Jan 2012


       Спустя месяц вышло новое ракудо, 2012.02.
       Ставим как обычно...
       Опять складываем числа от одного до миллиона...
       Прошло ровно столько же времени, что и до этого: 43 секунды.

Extra
http://rakudo.org   
http://github.com/rakudo/star/downloads   
# mutatio postrema: 22 Mar 2012


       Помимо rakudo в связке с parrot есть ещё одна реализация, которая по описанию не уступает ракудо, проходит такое же количество специальных тестов. Это niecza, работающая на mono. Ну что же, почему бы не попробовать? Primo поставим mono:
       aptitude install mono-complete
       Скачиваем niecza. Распаковываем.
       Интуитивно пишем:
       cd run
       mono Niecza.exe
       Следует приглашение в интерактивный режим. В нём можно написать например:
       niecza> say 'hello world'
       hello world
       niecza> exit
       Прямо сюда в этот каталог копируем старый скрипт test:
       #!/usr/bin/perl6
       my $sum;
       for 1..1000000 {
       $sum+=$_;
       }
       print "sum=$sum\n";
       Запускаем с надеждой на быстрый результат:
       time mono Niecza.exe test
       Результат: 40 секунд + предупреждение об "uninitialized value". Вывод: пока интереса не представляет.
       rm -rf tmp
       aptitude purge mono-complete
       Последнее действие удалило кучу ставших уже ненужными пакетов и освободило 90.9 мегабайт места.

Extra
https://github.com/sorear/niecza/downloads   
# mutatio postrema: 22 Mar 2012


       Опять складываем числа от одного до миллиона...
       Прошло 27 секунд, меньше, чем в прошлый раз, но и желез за это время стало немного пошустрей.

Extra
http://rakudo.org   
http://github.com/rakudo/star/downloads   
# mutatio postrema: 14 Aug 2012


       Опять складываем числа от одного до миллиона...
       Прошло 25 секунд, меньше, чем в прошлый раз на две секунды.

Extra
http://rakudo.org   
http://github.com/rakudo/star/downloads   
# mutatio postrema: 2 Oct 2012


       Вышло rakudo-star-2012.10. Интересно, что я опять стал тридцатым человеком, который скачал заветный файл.
       Собираем как обычно:
       perl Configure.pl --prefix=/usr/local --gen-parrot
       make
       make install
       Производительность не изменилась.
       В списке - ряд небольших изменений.

Extra
http://rakudo.org   
http://github.com/rakudo/star/downloads   
# mutatio postrema: 30 Oct 2012


       Вышло rakudo-star-2012.12. Скачиваем, собираем, пробуем.
       perl6 -v
       This is perl6 version 2012.12 built on parrot 4.10.0 revision 0
       for 1..1000000 { $sum+=$_ } выполнился за 22 секунды (производительность не изменилась).
       В списке - ряд небольших изменений.

Extra
http://rakudo.org   
http://rakudo.org/downloads/star/   
# mutatio postrema: 11 Jan 2013


       Вышло rakudo-star-2013.01. Скачиваем, собираем, пробуем.
       Складывание чисел от одного до миллиона заняло 68 секунд.
       В списке как всегда ряд небольших изменений.

Extra
http://rakudo.org   
http://rakudo.org/downloads/star/   
# mutatio postrema: 6 Feb 2013

   установка, производительность      charta situs       nota I, nota XXXIII, nota LXXXI, nota LXXXII, nota LXXXIII, nota LXXXIV, nota LXXXV, nota C, nota CI, nota CII, nota CIII, nota CIV, nota CVIII, nota CXI, nota CXII   

    RSS     stdin@perl6.su    © Alexius Karmanov, 2010-2011