juan_gandhi: (Default)
Juan-Carlos Gandhi ([personal profile] juan_gandhi) wrote2006-11-07 11:11 pm

делаем открытия

Кому-то это всё давно известно, конечно. Типа Куздры. Эх, когда уж я научусь программировать.

Кароче. Сегодня выяснилось, что List - не тип, а функтор. А всякий List&X> - уже тип. Если Х - тип.

И "длина списка" - не функция, а естественное преобразование. Natural transform. Шоб вы думали, а! Век живи, век учись.

Ну и, к примеру, "обойти всё дерево" - это тоже не функция, а естественное преобразование.

И я ещё не понял, что такое методы у типа. Пока не понял.

[identity profile] ivan-gandhi.livejournal.com 2006-11-08 03:44 pm (UTC)(link)
Правда? Программисты на перле это знают? А почему не говорят? Вот что гугл находит на эту тему:
"Natural transformation is a process by which bacteria take up ... using a series of Perl scripts, "

Ты сам-то на перле пишешь? Вот у [livejournal.com profile] avva спросим, часто ли ему в перле попадаются эндофункторы, монады, инициальные алгебры и естественные преобразования. (И катаморфизмы в форме бананов.)

[identity profile] spamsink.livejournal.com 2006-11-08 03:51 pm (UTC)(link)
Не говорят - потому что это у них на уровне подкорки. Использование списка (он же массив) в скалярном контексте натуральным образом преобразует его в его длину.

[identity profile] ivan-gandhi.livejournal.com 2006-11-08 04:54 pm (UTC)(link)
Типа рентгена Ивана Грозного. А сплющивание списков? Тоже естественное преобразование на перле?

[identity profile] spamsink.livejournal.com 2006-11-08 05:49 pm (UTC)(link)
Типа рентгена Ивана Грозного.

Сложение и умножение, по-твоему, тоже были типа рентгена Ивана Грозного до изобретения теории групп?

Сплющивание списков - тоже. Это ж сложение.

[identity profile] ivan-gandhi.livejournal.com 2006-11-08 09:14 pm (UTC)(link)
Ну не скажи, не скажи. С монадной точки зрения так скорее умножение.

Теперь перейдем к Перлу. Каков в Перле тип у списка? Ага... Тип - "список". Перл не знает разницы между составлением списков и декартовым произведением.

[identity profile] spamsink.livejournal.com 2006-11-08 09:33 pm (UTC)(link)
Пардон, в Перле list flattening означает другое.

Я к тому, что идеи (рентген Ивана Грозного) как ты говоришь, были известны давно, а какой abstract nonsense (см.) под них подвести - это уж как кому заблагорассудится.