Я уже упоминал, что IO
не удовлетворяет законам монады, но я не нашел простого примера, показывающего это. Кто-нибудь знает пример? Спасибо.
Изменить: Как ertes и n.m. указал, что использование seq
несколько незаконно, поскольку оно может заставить любую монаду нарушить законы (в сочетании с undefined
). Так как undefined
можно рассматривать как непереходное вычисление, он отлично подходит для его использования.
Итак, пересмотренный вопрос: Кто-нибудь знает пример, показывающий, что IO
не удовлетворяет законам монады, не используя seq
? (или, возможно, доказательство того, что IO
законов, если seq
не допускается?)