Некоторые языки и использование для монад - PullRequest
6 голосов
/ 22 сентября 2010

По вашему мнению, какой язык, по вашему мнению, лучше всего подходит для реализации монад (Python / Ruby / LISP) ?, также кто-нибудь может рассказать мне о некоторых возможных применениях монад (пожалуйста, приведите примеры), например, исключения?

Заранее спасибо

Ответы [ 4 ]

19 голосов
/ 22 сентября 2010

All About Monads - легендарное учебное пособие, в котором перечислены все стандартные монады и приведено множество реальных примеров.Популярные монады, которые можно встретить даже на основных языках: Maybe, List и Continuation.Некоторые люди также думают, что jQuery сам по себе является монадой (как следует из монадных аксиом ).Что касается выбора языка, Haskell и его производные используют монады в качестве фундаментальной концепции, однако, в качестве опции, построение монад возможно во многих современных языках.Чтобы ознакомиться с концепцией монады, лучше выбрать язык, который мне наиболее удобен.

7 голосов
/ 22 сентября 2010

В порядке предпочтения:

  1. Haskell
  2. F #
  3. Scala
  4. C #

Монады в порядке убывания простоты:

  1. Возможно (Исключение)
  2. Reader
  3. Писатель
  4. Государство
  5. Parser
  6. Асинхронный
3 голосов
/ 22 сентября 2010
1 голос
/ 22 сентября 2010

Например, см. Филиппа Уодлера "Монады для функционального программирования".

...