делаем открытия
Nov. 7th, 2006 11:11 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Кому-то это всё давно известно, конечно. Типа Куздры. Эх, когда уж я научусь программировать.
Кароче. Сегодня выяснилось, что List - не тип, а функтор. А всякий List&X> - уже тип. Если Х - тип.
И "длина списка" - не функция, а естественное преобразование. Natural transform. Шоб вы думали, а! Век живи, век учись.
Ну и, к примеру, "обойти всё дерево" - это тоже не функция, а естественное преобразование.
И я ещё не понял, что такое методы у типа. Пока не понял.
Кароче. Сегодня выяснилось, что List - не тип, а функтор. А всякий List&X> - уже тип. Если Х - тип.
И "длина списка" - не функция, а естественное преобразование. Natural transform. Шоб вы думали, а! Век живи, век учись.
Ну и, к примеру, "обойти всё дерево" - это тоже не функция, а естественное преобразование.
И я ещё не понял, что такое методы у типа. Пока не понял.
no subject
Date: 2006-11-08 07:15 am (UTC)Как раз совета ищу (сильно долгоиграющего и не одного)....
no subject
Date: 2006-11-08 03:01 pm (UTC)no subject
Date: 2006-11-08 07:48 am (UTC)То, что длина списка - не функция, а естественное преобразование, известно каждому программисту на Перле. Не любишь, поди, Перла-то?
К какому типу преобразует дерево естественное преобразование "обойти всё дерево"?
no subject
Date: 2006-11-08 08:07 am (UTC)+1.
К типу "обойдённое дерево". ;-)
no subject
Date: 2006-11-08 03:04 pm (UTC)К списку?
no subject
Date: 2006-11-08 03:28 pm (UTC)Ах, вы в этом смысле... Ну, видимо да, вполне естественное преобразование: ведь любое дерево в душЕ - скип-лист.
no subject
Date: 2006-11-08 03:40 pm (UTC)no subject
Date: 2006-11-08 03:56 pm (UTC)no subject
Date: 2006-11-08 04:52 pm (UTC)no subject
Date: 2006-11-08 03:44 pm (UTC)"Natural transformation is a process by which bacteria take up ... using a series of Perl scripts, "
Ты сам-то на перле пишешь? Вот у
no subject
Date: 2006-11-08 03:51 pm (UTC)no subject
Date: 2006-11-08 04:54 pm (UTC)no subject
Date: 2006-11-08 05:49 pm (UTC)Сложение и умножение, по-твоему, тоже были типа рентгена Ивана Грозного до изобретения теории групп?
Сплющивание списков - тоже. Это ж сложение.
no subject
Date: 2006-11-08 09:14 pm (UTC)Теперь перейдем к Перлу. Каков в Перле тип у списка? Ага... Тип - "список". Перл не знает разницы между составлением списков и декартовым произведением.
no subject
Date: 2006-11-08 09:33 pm (UTC)Я к тому, что идеи (рентген Ивана Грозного) как ты говоришь, были известны давно, а какой abstract nonsense (см.) под них подвести - это уж как кому заблагорассудится.
no subject
Date: 2006-11-08 03:05 pm (UTC)no subject
Date: 2006-11-08 03:39 pm (UTC)no subject
Date: 2006-11-08 03:46 pm (UTC)Так что для поступления лучше читать Кнута.
no subject
Date: 2006-11-08 04:56 pm (UTC)no subject
Date: 2006-11-08 12:58 pm (UTC)no subject
Date: 2006-11-08 03:38 pm (UTC)Но что инициальная алгебра, в смысле - ноль в категории "автоматов над А" - как то не задумывался; спасибо за хинт, ознакомился заодно с катаморфизмами и с бананами. С категорной точки зрения это всё не особо сложно, но... но красиво.
Как так получается, что эти два эндофунктора, ака инициальные алгебры (список и дерево), оказываются как бы в основе всего? А другие размерности? Или эти две алгебры и отражают какие-то фундаментальные свойства человеческого мышления?
no subject
Date: 2006-11-08 06:48 pm (UTC)Как так получается, что эти два эндофунктора, ака инициальные алгебры (список и дерево), оказываются как бы в основе всего?
Есть ещё финальная ко-алгебра того же функтора, который приводит с спискам. Это "streams" --- бесконечные списки, ну и набор естественных операций естественно другой.
no subject
Date: 2006-11-08 09:18 pm (UTC)Насчет стримов и, очевидно, итераторов - спасибо!!! Открываются мои глаза на устройство вселенной.
no subject
Date: 2006-11-08 09:41 pm (UTC)Re: глупый вопрос
Date: 2006-11-09 03:31 pm (UTC)Re: глупый вопрос
Date: 2006-11-21 06:59 pm (UTC)Никакой хитроумной абстракции в кат.теории, кажется, им не соответсвует. Отсюда имеем старинный парадокс "в С++ квадрат не является прямоугольником"
А вот интересный вопрос в тему: что-такое ко-монады? Т.е. берем Хаскелловские монады, переворачиваем все стрелки и получаем ...? Предполагаю, что inheritance.