Свободные монады - это просто монады с интерфейсами? - PullRequest
4 голосов
/ 30 мая 2019

Я читал некоторые материалы на бесплатные монады и я не думаю, что я намного ближе к реализация, но я думаю, что я ближе к пониманию того, что они есть!

Учитывая множество вышеперечисленных ресурсов, я понимаю, что свободные монады "освобождают" "монаду" (которая является типом данных) от "вычислительной" работы. Другими словами, бесплатные монады предоставляют интерфейс для таких вещей, как join и map, которые клиент будет реализовывать самостоятельно?

1 Ответ

2 голосов
/ 03 июня 2019

Другими словами, бесплатные монады предоставляют интерфейс для таких вещей, как соединение и отображение, которые клиент будет реализовывать самостоятельно?

В некотором смысле да.Но я думаю, что лучший способ сказать это так: «свободная монада предоставляет язык, в то время как ее экземпляры реализуют различные интерпретаторы этого языка».законы монад.Его экземпляры не являются свободными, поскольку определенные интерпретации добавляют дополнительные ограничения.

...