LINUX.ORG.RU

Вышел дистрибутив компилятора Perl 6: Rakudo Star

 , , , ,


0

1

Состоялся первый официальный выпуск компилятора Perl 6 Rakudo.
Rakudo Star - это полноценный дистрибутив Perl 6 достаточный для начала работы и включает в себя выпуск #31 компилятора Rakudo Perl 6 , Parrot Virtual Machine версии 2.6.0, дополнительные модули и документацию.

Rakudo Star доступен в виде исходных кодов(tar.gz) и сборки для Windows(msi)

Возможности Perl 6, включённые в первую версию Rakudo Star:

  • грамматика и регулярные выражения Perl 6;
  • списки и признаки формальных параметров (formal parameter lists and signatures);
  • метаоператоры;
  • постепенная типизация (gradual typing);
  • мощная объектная модель, включающая роли и классы;
  • отложенная интерпретация списков (lazy list evaluation);
  • множественный вызов (multiple dispatch);
  • умное сопоставление (smart matching);
  • соединения и автоматические потоки (junctions and autothreading);
  • перегрузка операторов (в данный момент не полностью реализовано);
  • рефлексия (introspection);
  • каррирование;
  • обширная библиотека встроенных операторов, функций и типов;
  • интерактивная командная оболочка;
  • поддержка Unicode (неполная);
  • возобновляемые исключения (resumable exceptions).

Неполный список модулей Perl 6, включённых в Rakudo Star:

  • Blizkost — позволяет использовать модули Perl 5;
  • MiniDBI — простой интерфейс к БД для Rakudo Perl 6;
  • Zavolaj — вызов библиотек C из Rakudo Perl 6;
  • SVG и SVG::Plot — создание SVG;
  • HTTP::Daemon — простой HTTP-сервер;
  • XML::Writer — запись XML;
  • YAML — вывод объектов Perl 6 как YAML;
  • Test::Mock — создание имитации объектов;
  • Math::Model — описание и исполнение математических моделей;
  • Config::INI — разбор и запись конфигурационных файлов;
  • File::Find — поиск файлов;
  • LWP::Simple — загрузка данных из Интернета.

В Rakudo Star отсутствуют следующие особенности Perl 6:

  • вложенное определение пакетов (nested package definitions);
  • двоичные объекты, «родные» типы, pack и unpack;
  • типизированные массивы;
  • макросы;
  • переменные состояния (state variables);
  • потоки и параллелизм;
  • предварительные и последующие ограничения (pre and post constraints, and some other phasers);
  • интерактивное чтение вводимых строк с поддержкой Unicode(readline);
  • управляющие последовательности символов в регулярных выражениях (backslash escapes in regex <[...]> character classes);
  • неблокирующий ввод/вывод;
  • значительная часть Synopsis 9;
  • утилиты манипуляции документацией perl6doc (pod).

Rakudo Star также содержит черновик книги о Perl 6.

>>> Анонс

★★★☆

Проверено: catap ()

Ответ на: комментарий от mine

Пардон, я вспомнил! Это фортран 90. Изучался на первом курсе лет этак 8 назад.

mine ()

> соединения и автоматические потоки (junctions and autothreading);

...

потоки и параллелизм;

товарищи! товарищи! ну какже так?

даже Педивикия

Перевод английского термина thread как «поток» в контексте, связанном с программированием, противоречит его же переводу «нить» в общеязыковом контексте, а также создает коллизии с термином stream («поток»).

По некоторым сведениям, этот неудачный перевод зародился во второй половине 1990-х годов в кругах, близких к российскому офису компании Microsoft, и занимавшихся переводом на русский язык англоязычной литературы издательства Microsoft Press.

anonymous ()
Ответ на: комментарий от mine

/= — это и в C есть.

В perl6 есть //=

Хороший язык, очень правильно украденный python. Достойный конкурент.

davinchi ()
Ответ на: комментарий от mine

Еще в хацкеле и в некоторых «местных». Ну и вообще, в сети используется как «не равно»

oh ()
Ответ на: комментарий от oh

Не равно же != или \neq? Как это они деление к «неравно» приравняли?

davinchi ()
Ответ на: комментарий от davinchi

Похоже на зачеркнутое равно, которое используется (в том числе и в математике) при записи на бумаге или в другом удобночитаемом формате

oh ()
Ответ на: комментарий от mkfifo

>....зато Хаскелисты (и будущие Per6`исты) — могут долго рассказывать о том как они изучали технологии разработки... чтобы в итоге стать такими крутыми перцами :-)

Просто хаскелистам сложно написать пару утилит - у них принято перед написанием каждой функции её математически обосновывать, а после написания - доказывать правильность её работы. Тоже математически.

Каждые несколько дней заказчику сдаётся устный экзамен по написанному коду. Если заказчик ленив, то сдаётся в виде реферата.

Такими темпами сложно написать крупную программу.

anonymous ()
Ответ на: комментарий от oh

Обычно равно зачёркивают, а не под зачёркнутым рисуют равно, так что тут было бы правильнее =/ ?

davinchi ()

Кто расскажет, насколько сильно отличается perl 6 от perl 5? А то хочется для общего образования перл выучить, неясно с какого начинать.

anonymous ()
Ответ на: комментарий от anonymous

Это два совершенно разных языка. Perl5 коряв, грязный язык для грязных задач. Потом его почему-то наприменяли налево и направо и получился гибрид ужа с ежом.

Всё лучшее, что есть сейчас в perl5 — это backport с perl6.

Учить надо оба, лучше начинать с perl5, переходя на perl6 — будет повод для радости.

davinchi ()

Посмотрел код модулей

Выглядит дико - коряво и непонятно. Нет, не него я ruby менять точно не буду.

anonymous ()

языки с префиксами для переменных (из самых распространенных - похапе и перл) портят код и заставляют глаза вытекать.

// на перле писал несколько лет, потом переехал на питон, так что не надо про «ты не умеешь его готовить»

anonymous ()
Ответ на: комментарий от MATPOCKUH

>Ой, вей: http://www.ozonehouse.com/mark/periodic/

Простота прям прет во все щели...

Если вы думаете, что это учебник, то вам действительно будет сложно с обучением и стоит учить что-то попроще.

grim ★★★☆ ()
Ответ на: комментарий от davinchi

> Обычно равно зачёркивают, а не под зачёркнутым рисуют равно, так что тут было бы правильнее =/ ?

Читаем как «не равно» или «not equal», что как раз соответствует «/ =».

anonymous ()
Ответ на: комментарий от Sanitar

>>Мужик, ты реально запалил, кстати, со своими простынями. Если захочется почитать ченджлог, я пойду на ссылку. Нефиг плохой пример давать народу.

Во-первых, ты не один на ЛОРе, тут есть много Ъ. Во-вторых, все содержание новости - авторское, я лишь поправил и дооформил.

MuZHiK-2 ★★★★ ()
Ответ на: комментарий от anonymous

> на перле писал несколько лет, потом переехал на питон

...ну этот случай даж рассматривается в модуле antigravity :-)

mkfifo ()
Ответ на: комментарий от anonymous

> Просто хаскелистам сложно написать пару утилит - у них принято перед написанием каждой функции её математически обосновывать, а после написания - доказывать правильность её работы. Тоже математически.

Нам это делать лень :-) Мы такие злобные, что поручаем это дело тайпчекеру.

Это, кстати, очень распространённое заблуждение. Наоборот, как будто как раз всё делают для того, чтобы Haskell-программистам не нужно было заморачиваться со всякой фигнёй насчёт корректности и самостоятельно писать типы. Даже капча «Developing steer» говорит об этом!

Так, ну ладно. Какого хрена Haskell обсуждается в новости про Перл? Я негодую :)

anonymous ()
Ответ на: комментарий от anonymous

> Так, ну ладно. Какого хрена Haskell обсуждается в новости про Перл? Я негодую :)

Так или иначе все равно скатились бы к обсуждению Haskell. И не важно, будь оно через «статика vs динамика», через Pugs или так криво, как произошло.

balodja ★★★ ()

то ли радоваться
то ли смеяться

kto_tama ★★★★★ ()
Ответ на: комментарий от oh

> Ох, смотрите-ка пистонизды подтянулись. На них даже смешно смотреть.

Давай, я тебе гляделки выдавлю. Делов-то...

anonymous ()
Ответ на: комментарий от AVL2

Пестон не умрёт ибо он хорош для обучения людей, далёких от программирования. Он займёт ту же нишу, которую занимают бейсик и делфи под вендой.

kranky ★★★★★ ()

Вернусь с дачи - буду искать книгу по Perl 6.

AITap ★★★★★ ()
Ответ на: комментарий от anonymous

неправильно: Если заказчик ленив, то сдаётся в виде реферата.

правильно: Если заказчик ленив, экзамен сдаётся когда понадобятся результаты экзамена. Это здорово экономит время.

ugoday ★★★★★ ()

>Zavolaj — вызов библиотек C из Rakudo Perl 6;

очень интересно, в переводе с транслитерации это слово звучит как «Заволай», что по-украински означает «Заори»

lester_dev ★★★★★ ()
Ответ на: комментарий от mine

> А из какого это языка: «/=»

Algol68, про более ранние не знаю, на этом приходилось писать ;)

Casus ★★★★★ ()
Ответ на: комментарий от MATPOCKUH

> Простота прям прет во все щели...

^..^ — range exclusive — абалдеть! ;)

Casus ★★★★★ ()
Ответ на: комментарий от Reset

> ну наконец-то, теперь пейтон можно спокойно отправлять на помойку

*удивлённо* А что, он когда-то из неё выбирался?! Вот этот убогий брат похапэ? Пестон - это диагноз, мутация вируса фортран.

matumba ★★★★★ ()
Ответ на: комментарий от matumba

А что такое «пестон» и «похапэ»?

anonymous ()
Ответ на: комментарий от matumba

И как это ты аборта избежало? Требую наказать тюремного ветеринара.

anonymous ()

Новость одобряю. Давно пора избавиться от множества quirks перла5.

anonymous ()
Ответ на: комментарий от kranky

>> Он займёт ту же нишу, которую занимают бейсик и делфи

не смешите

kto_tama ★★★★★ ()
Ответ на: комментарий от kto_tama

Почему? Питон очень хороший, простой язык. Начальное освоение его «с нуля» занимает всего несколько часов.

anonymous ()
Ответ на: комментарий от anonymous

> Почему? Питон очень хороший, простой язык.

При всей своей простоте (внешней), Питон, в отличие от Бейсика, не говно :)

tailgunner ★★★★★ ()
Ответ на: комментарий от kto_tama

Более того, он уже фактически занимает в юникс-подобных ОС эту нишу - нишу быстрой разработки GUI-приложений. Другое дело, что некоторые фанати^Wэнтузиасты и вычислительное ядро приложения пишут на чистом питоне, что не всегда оправдано.

anonymous ()

Довольно радостная новость.
Правда бинарник получается огромный.

pinachet ★★★★★ ()
Ответ на: комментарий от kranky

> Пестон не умрёт ибо он хорош для обучения людей, далёких от

программирования. Он займёт ту же нишу, которую занимают бейсик и

делфи под вендой.



нишу Бейсика и Делфи (в качестве дибильных, но почемуто популярных языков) — уже понемножку занимает 1C-язык [незнай как он там прально называется] :-)

# p.s.: а недавно мне вынужденно пришлось попрограммировать на Visual Basic 6.0.... и я все локти искусал когда мне понадобилось сделать что-то чуть более сложное чем MsgBox и Show Form

mkfifo ()
Ответ на: комментарий от yk4ever

графика паршивая и сюжет фуфло.

Ну уж геймплей не хуже чем у варика второго :)

Xenesz ★★★★ ()

Мда… ждал я этот шестой Перл, ждал… почти пять лет ждал. А сейчас смотрю примеры и понимаю, что Питон == труЪ, на нем даже писать быстрее (никаких лишних sigils, semicolons и braces), а уж по читабельности мало кто с ним сравнится. Здравия и развития Перлу, но Питону он не конкурент. Даже шестая версия с рождения архаична. Если с Питона куда-то и приспичит переходить, то скорее на Lua и Haskell (в зависимости от целей и приоритетов).

amix ★★★ ()
Ответ на: комментарий от amix

Тут можно сокращать comprehen*, например: my @a = '10' => 20, '20' => 30; print [max] @a>>.values;

davinchi ()
Ответ на: комментарий от amix

...а уж по читабельности мало кто с ним сравнится.

ML-языки (Ocaml/F#) сравнятся и по читабельности и по краткости, причем они статически типизированные, в отличие от питона.

dave ★★★★★ ()

Удивительно сколько разного дерьма впихнуто в этот пёрл. На каждый случай свое черезжопное выражение. 6я версия недалеко ушла. Понятно почему у перлистов кроме пёрла в черепную коробку больше ничего помещается.

/c «appunto poetic»

anonymous ()
Ответ на: комментарий от davinchi

что это напишет? лень перл6 ставить.

anonymous ()
Ответ на: комментарий от anonymous

> Понятно почему у перлистов кроме пёрла в черепную коробку больше ничего помещается.

Где пруфлинк?

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.