T>А perl 6 прикольный. Сколько же там всего разного есть! Даже так просто не осилишь. В Питоне и руби такого нет.
Как там с Дао? удалось реализовать?
Дао Perl 6:
1. Любой набор символов в любой кодировке является синтаксически правильным Perl 6 кодом.
2. Всегда есть бесконечное количество различных способов сделать это.
3. Любой человек, писавший до этого на любом языке, может сразу писать на Perl 6. Он может даже не догадываться, что пишет на Perl 6. Если, конечно, не будет забывать ставить 1; в конце модулей.
4. Можно перегружать 1;. Можно перегружать пробелы. Можно перегружать сорц-фильтры с помощью регулярных выражений, которые тоже можно перегружать.
5. Perl 6 имеет эталонную реализацию, написанную на Perl 6 и не способную быть выраженной ни на каком другом языке[2]. На Perl 6 эталонная реализация может быть выражена, но не за конечное время. Мы работаем над этим. Когда мы закончим, наступит Армагеддон (который тоже можно будет перегрузить).
1;
M>>В Питоне тоже убогая фигня. Надо как в Хаскеле и Эрланге
_NN>А чем плохо как в Питоне ?
Слишком многословно, из-за чего все, что сложнее [x*x for x in list] становится нечитаемым, а создание сколько-нибудь сложных comprehension'ов — нетривиальным.
# Python for if for if чтоа?
[(x,y) for x in range(5) if x % 2 == 0 for y in range(5) if y % 2 == 1]
% Erlang. По сути, перечисление условий для получения X и Y.
[{X, Y} || X <- range(5), Y <- range(5), x rem 2 == 0, y rem 2 == 1 ]
// Эквивалентная математическая запись что-то в стиле
{ x,y | x ∈ range(5), y ∈ range(5), x mod 2 = 0, y mod 2 = 1 }
Здравствуйте, Takadam, Вы писали:
T>А perl 6 прикольный. ... Будем надеяться, что взлетит.
Поздно. Лет 15 назад он мог бы с кем-то пободаться, но сейчас — кому он нужен? (кроме маргиналов и админов локалхоста)
Быдловеб прочно занят похапастами, незанятые области утыканы пестонорубями. Серьёзные сектора — все ожаблены или под ASP. На десктопе ему вообще делать нечего.
На мой взгляд, Перл-6 — это проект ради проекта, какой-то самодостаточный мир олдфагов на ностальгирующем драйве. Жаль растрачивают усилия зазря...
Здравствуйте, _NN_, Вы писали:
_NN>Т.е. всё утверждение сводится к тому, что условия не в конце.
как раз тут никакой разницы нет — мамут просто привёл не эквивалентный код. а суть претензий мамута — в том что он работает в vi, там нет синтаксической подсветки и поэтому запятые заметней ключевых слов:
[(x,y) for x in range(5) if x%2==0 for y in range(5) if y%2==1]
Здравствуйте, Mamut, Вы писали:
T>>это откуда? как относится к perl 6? M>Текст на картинке: таблица всех операторов из Perl6. И да — это /o\
Большая часть операторов же там не сама по себе. Они составные и образуются из базовых элементов по ясным правилам. Например, оператор, начинающийся с +, выполняется в числовом контексте, а с ? — в булевом.
Здравствуйте, _NN_, Вы писали:
_NN>'X' умеет только операции принимать или выражения ? Такое можно всунуть в 'X' ? _NN>
_NN>gather for @yy -> $y { for @xx -> $x { if ($x>1) take $x * $y else take $x + $y } }
_NN>
X — это метаоператор, он работает только с операторами. Однако можно описать свой оператор, который производит необходимое действие и использовать его с X.
Здравствуйте, anonymous, Вы писали:
A>Здравствуйте, _NN_, Вы писали:
_NN>>'X' умеет только операции принимать или выражения ? Такое можно всунуть в 'X' ? _NN>>
_NN>>gather for @yy -> $y { for @xx -> $x { if ($x>1) take $x * $y else take $x + $y } }
_NN>>
A>X — это метаоператор, он работает только с операторами. Однако можно описать свой оператор, который производит необходимое действие и использовать его с X.
Логично.
А вот оператор можно ли определять локально ?
5 октября 2015 года на площадке Канбар форума в Сан-Франциско Ларри Уолл официально представит финальную реализацию языка программирования Perl 6. Спонсором мероприятия выступает компания Craigslist (текущий работодатель Ларри Уолла).