Вопросы с тегом «monad»

95
Что такое шаблон «Свободная монада + переводчик»?

Я видел людей, говорящих о Free Monad с Interpreter , особенно в контексте доступа к данным. Что это за образец? Когда я мог бы хотеть использовать это? Как это работает, и как бы я это реализовал? Я понимаю (из сообщений , таких как это ) , что речь идет о отделяя модели от данных доступа. Чем он...

46
Критика монады IO, рассматриваемой как государственная монада, действующая в мире

IOМонады в Haskell часто объясняется как государственной монады , где государство является мир. Таким образом, значение типа IO amonad рассматривается как нечто подобное worldState -> (a, worldState). Некоторое время назад я прочитал статью (или сообщение в блоге / списке рассылки), в которой...

34
Может быть, монада против исключений

Интересно, в чем преимущества Maybe монады перед исключениями? Похоже, Maybeэто просто явный (и довольно трудоемкий) способ try..catchсинтаксиса. обновление Пожалуйста, обратите внимание, что я намеренно не упоминаю...

29
Разные способы увидеть монаду

Во время изучения Haskell я столкнулся с множеством учебных пособий, в которых пытался объяснить, что такое монады и почему они важны в Haskell. Каждый из них использовал аналогии, чтобы было легче понять смысл. В конце концов, я получил 3 разных взгляда на то, что такое монада: Вид 1: Монада как...

20
Являются ли монады жизнеспособной (возможно, предпочтительной) альтернативой иерархии наследования?

Я собираюсь использовать описание монад, не зависящее от языка, например, сначала для описания моноидов: Моноид это (примерно) набор функций , которые принимают некоторый тип в качестве параметра и возвращают один и тот же тип. Монада есть (примерно) набор функций , которые принимают обертки типа в...

17
Является ли польза от модели моно IO для обработки побочных эффектов чисто академической?

Извините за еще один вопрос о побочных эффектах FP +, но я не смог найти существующий, который вполне ответил на этот вопрос для меня. Мое (ограниченное) понимание функционального программирования заключается в том, что побочные эффекты состояния должны быть минимизированы и отделены от логики без...

16
Что такое Comonad и чем они полезны?

Недавно я стер свои знания о том, как работают монады. Я также был введен в понятие «комонадой» , которая описывается как обратный двойной монады . Тем не менее, я не могу обернуть голову вокруг этого. Чтобы понять монады, я сделал для себя аналогию: Монады можно рассматривать как «план построения...

14
Какие проблемы программирования решают Monads? [закрыто]

Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 3 года назад . Я прочитал много постов, которые объясняют, что...

14
Как соотносятся бесплатная монада и реактивные расширения?

Я пришел из C #, где LINQ эволюционировал в Rx.NET, но всегда интересовался FP. После некоторого введения в монады и некоторых побочных проектов в F # я был готов попытаться перейти на следующий уровень. Теперь, после нескольких разговоров о бесплатной монаде от людей из Scala и нескольких рецензий...

13
Почему тип опции Scala не называется Maybe, как в Haskell? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 4 года назад . Почему тип опции Scala не называется Maybe, как в Haskell? Может быть, для...

12
При программировании в функциональном стиле, есть ли у вас единое состояние приложения, которое вы вплетаете в логику приложения?

Как мне построить систему, которая имеет все следующее : Использование чистых функций с неизменяемыми объектами. Передайте в функцию только те данные, которые ей нужны, не более (то есть, нет большого объекта состояния приложения) Избегайте слишком большого количества аргументов для функций....

10
Фьючерсы / Монады против событий

В рамках приложения, когда влияние производительности может быть проигнорировано (максимум 10-20 событий в секунду), что является более обслуживаемым и гибким для использования в качестве предпочтительного средства связи между модулями - события или фьючерсы / обещания / монады ? Часто говорят, что...

9
Как практик, почему я должен заботиться о Хаскеле? Что такое монада и зачем она мне? [закрыто]

Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 6 лет назад . Я просто не понимаю, какую проблему они...

9
Лучше использовать монаду ошибок с валидацией в ваших монадических функциях или реализовать собственную монаду с валидацией прямо в вашем bind?

Мне интересно, какой дизайн лучше использовать с точки зрения удобства использования / удобства обслуживания, а что лучше для сообщества. Учитывая модель данных: type Name = String data Amount = Out | Some | Enough | Plenty deriving (Show, Eq) data Container = Container Name deriving (Show, Eq)...