Запитання з тегом «monads»

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

30
Що таке монада?
Нещодавно коротко подивившись на Haskell, що було б коротким, стислим, практичним поясненням того, що по суті є монадою? Я знайшов більшість пояснень, які мені трапляються, досить недоступними та не мають практичних деталей.

19
Монада простою англійською? (Для програміста OOP без фонового режиму)
З точки зору, який програміст ООП зрозумів (без будь-якого функціонального фону програмування), що таке монада? Яку проблему вона вирішує та які найпоширеніші місця, якими вона користується? Редагувати: Щоб уточнити, яке саме розуміння я шукав, скажімо, ви перетворювали FP-додаток, у якого були монади, у додаток OOP. Що б ви зробили, щоб …

6
Монада - це просто моноїд у категорії ендофандерів, у чому проблема?
Хто перший сказав таке? Монада - це просто моноїд у категорії ендофандерів, у чому проблема? І на менш важливу увагу, чи це правда, і якщо так, ви можете дати пояснення (сподіваємось, таке, яке може зрозуміти той, хто не має багато досвіду Haskell)?

8
Масштабний дизайн в Haskell? [зачинено]
Закрито . Це питання потрібно більш зосереджено . Наразі відповіді не приймаються. Закрито 3 роки тому . Заблокований . Це запитання та його відповіді заблоковано, оскільки це питання поза темою, але має історичне значення. Наразі не приймає нових відповідей чи взаємодій. Який хороший спосіб розробити / структурувати великі функціональні програми, …

1
Scalaz iteratees: "Піднімаючи" `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кажучи , "підняти" ітерацію на збіг: val en: …

6
Що таке вільні монади?
Я бачив цей термін Free Монада спливав кожен в даний час , і потім в протягом деякого часу, але кожен раз здається , що використання / обговорювати їх , не даючи пояснення того , що вони є. Отже: що таке вільні монади? (Я б сказав, що я знайомий з монадами …

7
Навіщо нам потрібні монади?
На мою скромну думку, відповіді на відоме питання "Що таке монада?" , особливо найбільш голосуючі, спробуйте пояснити, що таке монада, не чітко пояснюючи, чому монади справді необхідні . Чи можна їх пояснити як вирішення проблеми?
366 haskell  monads 

5
Хороші приклади не функціонера / функціонера / додатка / монади?
Пояснюючи комусь, що таке клас X, я намагаюся знайти хороші приклади структур даних, які є саме X. Отже, я прошу приклади для: Конструктор типу, який не є Функтором. Конструктор типу, який є функтором, але не є застосунним. Конструктор типу, який є додатком, але не є монадою. Конструктор типу - це …

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

8
Чому в Haskell моделюються побічні ефекти як монади?
Чи може хтось дати деякі вказівки на те, чому нечисті обчислення в Haskell моделюються як монади? Я маю на увазі, що монада - це просто інтерфейс з чотирма операціями, тож, що було міркуванням для моделювання побічних ефектів у ньому?

3
Яка мета читацької монади?
Читальна монада настільки складна і здається марною. У такій необхідній мові, як Java або C ++, немає рівнозначної концепції для монади читача, якщо я не помиляюся. Чи можете ви надати простий приклад і трохи прояснити це?

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


5
Функціональні схеми дизайну [закрито]
Зачинено. Це питання не відповідає вказівкам щодо переповнення стека . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно було тематичним для переповнення стека. Закрито 4 роки тому . Удосконаліть це питання Існує багато функціональних ідіом: монади, програми, стрілки тощо. Вони задокументовані в різних статтях, але, на …


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.