LINUX.ORG.RU

Акторы вместо монад.

 ,


0

2

Нашел любопытнейшую статью, где пишут, что монады можно заменить акторами. Акторы имеют те же самые свойства, что и монады, но при этом не такие сложные и уродливые. Цитата:

You can write an actor in a purely functional language, and have it send messages to file systems, databases or any other other stateful actor. Because the messages are sent asynchronously, you never see the answer in the same activation (aka turn) of the actor, so the fact that these actors are stateful and may give different answers to the same question at different times does not stain your precious snow white referential transparency with its vulgar impurity. This is pretty much what you do with a monad as well - you bury the stateful filth in a well marked shallow grave and whistle past it.

полностью тут:

http://gbracha.blogspot.ru/2011/01/maybe-monads-might-not-matter.html

очень интересная статья.

но при этом не такие сложные

Анонiмус нашел выход из ментальной западни. Как гигант, попирающий Дейкстру не мог понять что такое монады? Оказывается все просто! Монады как абстракции не нужны — их могут заменить экторы! Герой опять на коне. И попка опять пахнет просто говном.

bj ()
Последнее исправление: bj (всего исправлений: 1)

Я тоже считаю, что все модные идеи, которые я не понимаю, равнозначны и взаимозаменяемы. В частности монады, акторы, CPS, CSP, корутины, borrow checker, hygienic macros, гомоиконичность, TCO, RAII, metaobject protocol, чистота, ленивость, STM - все это на самом деле одно и то же.

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

А почему нельзя? Вот же он пишет

This is pretty much what you do with a monad as well - you bury the stateful filth in a well marked shallow grave and whistle past it.

Или maybe — это какая-то особенная монада?

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

Ты зачем вопросом на вопрос отвечаешь? Соскочить с темы хочешь?

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

Послушайте, Вы не могли бы ответить конкретно (и по возможности — развернуто) на вопрос? Другим анонам тоже интересно. А пока Ваши ответы действительно напоминают оправдания школьника не выучившего уроки. Автор статьи, в отличии от вас, достаточно развернуто аргументировал свою позицию, между прочим.

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

ошибочность которого очевидна за прошедшие 4 года

В чем ошибочность, и почему она очевидна?

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

Это где там такая конкретизация? Там написано

It is more focused on the State Monad

но разговор идет о монадах вообще

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

Автор статьи попытался найти замену одной конкретной монаде. Но почему то обобщил свой вывод за все. Кто он после этого?

bj ()
Последнее исправление: bj (всего исправлений: 1)
Ответ на: комментарий от anonymous

The most important practical contribution of monads in programming is, I believe, the fact that they provide a mechanism to interface pure functional programming to the impure dysfunctional world.

Но ведь не только.

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

Но ведь не только.

Вообще у автора проблемы. На акторах порядок сообщений не гарантируется. Поэтому IO тоже сделать нельзя.

bj ()
Последнее исправление: bj (всего исправлений: 1)
Ответ на: комментарий от bj

Вообще, проблемы у тебя, причем с головой явно. В модели акторов порядок не гарантируется, но это не значит, что синхронизация невозможна. А судя по твоим высерам, ты не понимаешь ни модель Акторов, ни монады.

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

Кстати.

Автор статьи, в отличии от вас, достаточно развернуто аргументировал

Когда это графоманство успело стать критерием усиливающим позицию? Гуманитарий что ле?

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

В модели акторов порядок не гарантируется, но это не значит, что синхронизация невозможна.

Гм, казалось бы причем тут синхронизация. Давай аналог IO на экторах.

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

От Вас даже графоманства не дождались, только какие-то бессвязные бессмысленные реплики.

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

казалось бы причем тут синхронизация

казалось бы, ты хотел гарантированного порядка доставки, а действительно, причем?

аналог

Ты статью то читал? Или с мовой проблемы? Какой нахер тебе аналог? Там не об аналогах речь, а о том, что все что можно сделать монадами, можно сделать и акторами, с полным сохранением ссылочной прозрачности, иными словами, монады не нужны.

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

школьника не выучившего уроки.

и сразу же

в отличии от вас

в отличие, всегда пиши «в отличие», необразованный asshead.

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

Он часто разлогинивается и пишет из под анона. Все нормально, человечество в безопасности.

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

Это вы сегодня в школе проходили?

anonymous ()

А где код-то? Без кода и говорить не о чем, пустая софистика.

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

Гм, казалось бы причем тут синхронизация. Давай аналог IO на экторах.

gen_tcp/gen_udp из Erlang OTP подойдут?

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

В чем ошибочность

Maybe Monads Might Not Matter

В том, что монады matter. В отличие от акторов, кстати.

и почему она очевидна?

По окружающей действительности.

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

Актор тоже может быть stateless, если че.

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

В том, что монады matter. В отличие от акторов, кстати.

Развернешь для туго соображающих?

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

На акторах порядок сообщений не гарантируется. Поэтому IO тоже сделать нельзя.

Как это не гарантируется? Мэйл бокс вроде гарантирует. Актор может сам менять порядок доставания сообщений, но это уже его дело.

loz ★★★★★ ()

при этом не такие сложные

Куда уж проще, чем пара натуральных преобразований и три закона? Дебилам, которым до сих пор (в 2015 году, лол) невдомек, что же такое монады, в программировании просто не место.

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

Все уже давно знают что это моноиды в категории эндофункторов.

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

Заодно, если кому интересно, достиг ли Mercury успеха, то на нём написан один из немногих существующих современных движков html, PrinceXML (умеет, например, Acid2).

anonymous ()

Нельзя. Хорошо, когда про монады пишут те, кто понимает что это и зачем..

Шутка, на самом деле можно организовать тоже самое что в extensible-effects но с явной передачей сообщений, но это, имхо, не интересно даже с теоретической точки зрения.

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

Это электрон и он существует в мире один, просто движется в многомерном пространстве-времени.

qnikst ★★★★★ ()
Последнее исправление: qnikst (всего исправлений: 1)
Ответ на: комментарий от qnikst

Хорошо, когда про монады пишут те, кто понимает что это и зачем..

Да, это специалисты, которые занимаются исследованиями феноменов сознания, в частности, когда человек начинает видеть то, чего не существует, и, в терминальной стадии, даже пилит на этой основе целые языки, затем организует вокруг них секты. Запамятовал как эти специалисты называются.

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