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

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

30
Что такое монада?
Кратко рассмотрев недавно Хаскелла, каким было бы краткое, сжатое, практическое объяснение того, что в действительности представляет собой монада? Я обнаружил, что большинство объяснений, с которыми я столкнулся, было довольно недоступным и лишенным практических деталей.

19
Монада на простом английском? (Для программиста ООП без фона FP)
С точки зрения того, что программист ООП понимает (без какой-либо функциональной основы программирования), что такое монада? Какую проблему он решает и какие места он использует чаще всего? РЕДАКТИРОВАТЬ: Чтобы прояснить то понимание, которое я искал, допустим, вы конвертировали приложение FP с монадами в приложение ООП. Что бы вы сделали, чтобы …

6
Монада - это просто моноид в категории эндофункторов, в чем проблема?
Кто первым сказал следующее? Монада - это просто моноид в категории эндофункторов, в чем проблема? И на менее важной ноте, правда ли это, и если да, то могли бы вы дать объяснение (надеюсь, что оно может быть понято кем-то, кто не имеет большого опыта в Haskell)?

8
Масштабный дизайн в Haskell? [закрыто]
Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время он не принимает ответы. Закрыто 3 года назад . Locked . Этот вопрос и его ответы заблокированы, потому что вопрос не по теме, но имеет историческое значение. В настоящее время он не принимает новые ответы или взаимодействия. Что …

1
Scalaz повторяет: «Поднимает» EnumeratorT для соответствия «IterateeT» для «большей» монады
Если у меня есть EnumeratorTи соответствующий, IterateeTя могу запустить их вместе: val en: EnumeratorT[String, Task] = EnumeratorT.enumList(List("a", "b", "c")) val it: IterateeT[String, Task, Int] = IterateeT.length (it &= en).run : Task[Int] Если монада перечислителя "больше", чем монада итерируемого, я могу использовать upили, в более общем смысле, Hoist"поднять" итератора для сопоставления: …

6
Что такое бесплатные монады?
Я видел этот термин Free Монада всплывал каждый в настоящее время , и затем в течение некоторого времени, но каждый раз кажется , что использование / обсуждать их , не давая объяснение того , что они есть. Итак: что такое бесплатные монады? (Я бы сказал, что я знаком с монадами …

7
Зачем нам нужны монады?
По моему скромному мнению, ответы на известный вопрос "Что такое монада?" особенно те, за кого проголосовали, попытайтесь объяснить, что такое монада, не объясняя, почему монады действительно необходимы . Могут ли они быть объяснены как решение проблемы?
367 haskell  monads 

5
Хорошие примеры не функтор / функтор / аппликатив / монада?
Объясняя кому-то, что такое класс типов X, я стараюсь найти хорошие примеры структур данных, которые в точности X. Итак, я прошу примеры для: Конструктор типа, который не является Functor. Конструктор типа, который является Functor, но не Applicative. Конструктор типа, который является Аппликативным, но не Монадой. Конструктор типа, который является Монадой. …

6
В C # Что такое монада?
В наши дни много говорят о монадах. Я прочитал несколько статей / постов в блоге, но я не могу зайти достаточно далеко с их примерами, чтобы полностью понять концепцию. Причина в том, что монады являются концепцией функционального языка, и поэтому примеры приведены на языках, с которыми я не работал (поскольку …
190 c#  c#-3.0  lambda  monads 

8
Почему побочные эффекты смоделированы как монады в Haskell?
Кто-нибудь может дать несколько советов о том, почему нечистые вычисления в Хаскеле моделируются как монады? Я имею в виду, что монада - это просто интерфейс с 4 операциями, так что же было причиной для моделирования побочных эффектов в ней?

3
Какова цель читающей монады?
Читательская монада настолько сложна и кажется бесполезной. В императивном языке, таком как Java или C ++, нет эквивалентной концепции для читающей монады, если я не ошибаюсь. Вы можете привести мне простой пример и немного прояснить это?

16
Шаблон, чтобы избежать вложенных блоков try catch?
Рассмотрим ситуацию, когда у меня есть три (или более) способа выполнения вычислений, каждый из которых может завершиться ошибкой за исключением. Чтобы попытаться выполнить каждый расчет, пока мы не найдем тот, который будет успешным, я сделал следующее: double val; try { val = calc1(); } catch (Calc1Exception e1) { try { …


5
Функциональные шаблоны проектирования [закрыто]
Закрыто. Этот вопрос не соответствует рекомендациям по переполнению стека . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме Stack Overflow. Закрыт 4 года назад . Уточните этот вопрос Существует множество функциональных идиом: монады, аппликативы, стрелки и т. Д. Они задокументированы в …


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.