Если мы думаем о монаде как о моделировании побочных эффектов, тип, претендующий на звание монады, но
несоблюдение законов может привести к последствиям, происходящим в неправильном порядке или неправильном
количество раз.
Классическим примером этого является ListT
, преобразователь монад списка.
Первоначальная реализация не удовлетворяла законам монады.
" ListT сделано правильно
На вики-странице есть несколько простых примеров использования ListT
в разделе
" Примеры ".
Вы можете увидеть разницу между тем, что делают эти программы
когда вы запускаете их с оригиналом
реализация, которая нарушает законы, и
когда вы запускаете их с заменой, которая удовлетворяет законам.