Um exemplo simples que mostra que o IO não satisfaz as leis das mônadas?
Eu vi mencionado queIO
não satisfaz as leis das mônadas, mas não encontrei um exemplo simples que mostre isso. Alguém conhece um exemplo? Obrigado.
Editar: Comoertes e n.m. apontou, usandoseq
é um pouco ilegal, pois pode fazer com que qualquer mónada não cumpra as leis (combinado comundefined
). Desde aundefined
pode ser visto como uma computação sem terminação, é perfeitamente correto usá-lo.
Então a questão revisada é:Alguém conhece um exemplo mostrando queIO
falha em satisfazer as leis das mônadas, sem usarseq
? (Ou talvez uma prova de queIO
satisfaz as leis seseq
não é permitido?)