Все ли монады моноиды?
Все ли монады моноиды?

Видео: Все ли монады моноиды?

Видео: Все ли монады моноиды?
Видео: Монада - простое объяснение 2024, Май
Anonim

Хорошо сказанный, возможно, самый краткий ответ: A монада это просто моноид в категории эндофункторов. Удовлетворен моноид аксиомы (I. и II.), а монада можно рассматривать как моноид который является эндофунктором вместе с двумя естественными преобразованиями.

Что такое эндофунктор монады?

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

Впоследствии возникает вопрос, что такое бифунктор? А бифунктор (также известный как бинарный функтор) - это функтор, предметной областью которого является категория продукта. Его можно рассматривать как функтор с двумя аргументами. Функтор Hom - естественный пример; он контравариантен по одному аргументу, ковариантен по другому. Мультифунктор - это обобщение концепции функтора на n переменных.

Тогда что такое монада в программировании?

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

Что такое монада Haskell?

В Haskell а монада представлен как конструктор типа (назовите его m), функцию, которая строит значения этого типа (a -> ma), и функцию, которая объединяет значения этого типа с вычислениями, которые производят значения этого типа, чтобы произвести новое вычисление для значения этого типа (ma -> (a -> mb) -> mb).

Рекомендуемые: