Простой пример, показывающий, что IO не удовлетворяет законам монады?
Я видел, упомянул, чтоIO
не удовлетворяет законам монады, но я не нашел простого примера, показывающего это. Кто-нибудь знает пример? Благодарю.
Edit: Какertes и н.м. указал, используяseq
немного незаконно, так как может заставить любую монаду нарушить законы (в сочетании сundefined
). посколькуundefined
может рассматриваться как бесконечное вычисление, его вполне можно использовать.
Итак, пересмотренный вопрос:Anybody knows an example showing that IO
fails to satisfy the monad laws, without using seq
? (Или, возможно, доказательство того, чтоIO
удовлетворяет законам, еслиseq
не допускается?)