Первый компилятор Perl 6 входил в состав дистрибутива Parrot и был написан на Perl 5. Нынешние версии Parrot до сих пор содержат каталог languages/perl6, однако воспользоваться этим компилятором уже не удастся (хотя нормально компилируется сам) — компилятор не развивается и не поддерживается с июня прошлого года. Читать далее «Компилятор Perl 6»
Еще раз о печати массива
Чтобы вывести на печать содержимое массива, можно интерполировать его значение: say «@array[]»;, либо сказать непосредственно say @array; (но в этом случае элементы не будут разделены пробелами).
Если же поставить оператор ~ перед именем массива (а это означает переключение в строковый контекст), то вывод будет аналогичен тому, что получается при интерполяции: Читать далее «Еще раз о печати массива»
Гипероператоры — 1
В Perl 6 появились так называемые гипероператоры, которые выполняют действия над составными операндами, например, массивами.
Внешне гипероператоры выглядят слегка перегруженными (есть мнение, что они напоминают ASCII-графику). Читать далее «Гипероператоры — 1»
Книги о Perl 6
Первая книга, написанная уже довольно давно — Perl 6 Essentials, претерпела второе издание, сменив одновременно и название: Perl 6 and Parrot Essentials. Авторы — Allison Randal, Dan Sugalski и Leopold Tötsch. Читать далее «Книги о Perl 6»
Компиляторы и интерпретаторы
Сегодня попробовать Perl 6 намного проще, чем это было год-два назад. Вот какие инструменты разработки мы имеем на сегодня.
Parrot — независимый от языка интерпретатор байт-кода. Интерпретатор Perl 6, базирующийся на Parrot’е, транслирует код Perl 6 в код на ассемблере Parrot (современные трансляторы используют более высокоуровневый промежуточный IMCC-код). Читать далее «Компиляторы и интерпретаторы»
Регулярные выражения — 2. Группирующие скобки
Правила регулярных выражений, применяемые в предыдущих версиях Perl допускали наличие круглых скобок, но трактовали их либо как сохраняющие, либо как исключительно группирующие в зависимости от наличия непосредственно после открывающей скобки модификатора ? Читать далее «Регулярные выражения — 2. Группирующие скобки»
Регулярные выражения — 3. Квантификаторы
Как и прежде, после любого символа в регулярном выражении допустимо указывать квантификатор — то есть некую конструкцию, которая уточняет, сколько раз символ может встречаться в тестируемой строке. Читать далее «Регулярные выражения — 3. Квантификаторы»
Первая попытка установить Parrot и Perl 6
История началась с дистрибутива parrot-0.0.10. Первая попытка откомпилировать его привела к системе, которой худо-бедно можно пользоваться, но путь не был прямым.
Вначале я компилировал под Windows (с установленным ActivePerl). Собрать parrot компилятором Borland не удалось. Более или менее полный комплект построил компилятор Microsoft Visual C++ 7. Виртуальная машина Parrot заработала. Читать далее «Первая попытка установить Parrot и Perl 6»
Что такое Parrot
Perl 6 идеологически отличается от предыдущих версий. Вместо того, чтобы сразу пуститься в разбор и исполнение кода, вначале инициативу берет компилятор, который преобразует perl-программу в байт-код, а уже затем виртуальная машина parrot выполняет байт-код. Читать далее «Что такое Parrot»
Аргументы командной строки и элементы массивов
В первой строке в функции main() примера parrot/languages/perl6/examples/qsort.p6 делается попытка чтения аргументов командной строки, указанных при запуске скрипта: Читать далее «Аргументы командной строки и элементы массивов»