У многих из нас нет фона по функциональному программированию и, тем более, на алгебре теории категорий. Поэтому давайте предположим, что нам нужно и, следовательно, создать общий тип типа
data MySomething t = .......
Затем мы продолжаем программирование и используя MySomething
. Какие доказательства должны предупредить нас о том, что MySomething
является монадой, и мы должны сделать ее одной, написав instance Monad MySomething ...
и определяя для нее return
и >>=
?
Спасибо.
Изменить: См. также этот вопрос: является цепной операцией единственное, что решает вопрос монада?, и этот ответ монада - это массив функций с вспомогательными операциями