lomeo: (лямбда)
Dmitry Antonyuk ([personal profile] lomeo) wrote2010-02-19 02:29 pm

Монады такие монады

Пару лет назад на RSDN я показывал VladD2 связь query monad из HaskellDB с LINQ. Тогда он называл это бредом. Прошёл год или около того и он сам стал связывать HaskellDB и LINQ. Правда, к монадам отношение у него не изменилось - это способ связывания вычислений в цепочку (почти дословно).

А сегодня IB под впечатлением от того, что LINQ - это монады.

Откуда эта истерика по отношению к монадам? Почему не возникает такого нездорового ажиотажа вокруг моноидов? Они же гораздо абстрактнее, чище и прикольнее :-)

Причём я почти уверен (насчёт VladD2 больше, насчёт IB меньше), что у обоих представление о монадах мало связано с тем, что это математическая модель. Для них это скорее некий паттерн. Место монады в математике не видно - так, приёмчик. Неудивительно, что VladD2 называет это извращением.

Что ли написать свой туториал по монадам? :-)

[identity profile] dmzlj.livejournal.com 2010-02-19 11:36 am (UTC)(link)
Да. Написать. 9001-ый. Может хоть тогда...

[identity profile] lomeo.livejournal.com 2010-02-19 12:09 pm (UTC)(link)
Атож!

Монады - они такие, каждый на них смотрит по своему неправильно. Один я - правильно :-)

[identity profile] lionet.livejournal.com 2010-02-19 11:41 am (UTC)(link)
Да, пиши сразу на ie@fprog.ru :)

[identity profile] lomeo.livejournal.com 2010-02-19 12:03 pm (UTC)(link)
Сначала закончу первую :)

[identity profile] palm-mute.livejournal.com 2010-02-19 11:50 am (UTC)(link)
Ты же уже написал (http://rsdn.ru/forum/decl/3598892.1.aspx).

Кроме того, после вопроса "Откуда эта истерика по отношению к монадам?" писать еще один туториал по монадам - как-то непоследовательно :).

[identity profile] lomeo.livejournal.com 2010-02-19 12:07 pm (UTC)(link)
Я эмогик!

[identity profile] nealar.livejournal.com 2010-02-19 01:03 pm (UTC)(link)
Слово страшное. В TAPL автор создал, фактически, монаду IO: способ связывания вычислений в цепочку и упрощённую запись для него, через ; . Правда, немного жульническую, но для строгого языка подходит. Но волшебного слова не произнёс, и обошлось без паники.

[identity profile] lomeo.livejournal.com 2010-02-19 01:24 pm (UTC)(link)
А вот прикинь, что было бы, если бы произнёс! ;-)

[identity profile] jakobz.livejournal.com 2010-02-19 02:40 pm (UTC)(link)
Монада - настолько абстрактное понятие, что его можно ко всему привязать. Я могу абсолютно с тем же успехом сказать, что LINQ - это граф.

[identity profile] metaclass.livejournal.com 2010-02-19 04:28 pm (UTC)(link)
Вроде как раз весьма конкретное понятие. Единственное, что оно позволяет обобщить множество других вещей под одной маркой и работать с ними единообразно.
Графы тоже позволяют обобщить некоторые действия, но не настолько красиво.

[identity profile] lomeo.livejournal.com 2010-02-20 09:02 am (UTC)(link)
Если мы поимеем с этого бенефиты на практике, то почему - нет?

Я же больше о том, что по отношению к графам как-то всплесков эмоций не наблюдается.

[identity profile] -darkus-.livejournal.com 2010-02-19 08:44 pm (UTC)(link)
Дружище, откуда у тебя противопоставление монады моноиду? Монада — это и есть моноид.

[identity profile] lomeo.livejournal.com 2010-02-20 09:00 am (UTC)(link)
Где ты увидел противопоставление?! 8-0

[identity profile] -darkus-.livejournal.com 2010-02-20 08:03 pm (UTC)(link)
Ну мне показалось, что вот здесь: Откуда эта истерика по отношению к монадам? Почему не возникает такого нездорового ажиотажа вокруг моноидов?

[identity profile] nealar.livejournal.com 2010-02-20 11:24 pm (UTC)(link)
Но это правда: все боятся монад, а про боязнь моноидов я не слышал :)

[identity profile] -darkus-.livejournal.com 2010-02-21 09:10 am (UTC)(link)
Мне кажется потому, что:

1. Про моноиды меньше говорят, потому про них меньше слышат.

2. Моноиды, они же полугруппы, понять легче. В том числе и потому, что во многих ВУЗах на курсах по дискретной математики абстрактная алгебра изучается, в том числе и даются понятия групп и полугрупп.

[identity profile] nealar.livejournal.com 2010-02-21 05:54 pm (UTC)(link)
1. Да!
2. Это уже мелочь, по сравнению с 1.
3. Ещё в филососии есть монады, это добавляет суровости.

[identity profile] geniepro.livejournal.com 2010-02-22 09:11 am (UTC)(link)
А есть ещё хламидомонады, трихомонады...
Ну и в религии монады, диады, триады (наверное, их Вы и имели в виду под филососскими монадами :))