Existe uma mônada que não possui um transformador de mônada correspondente (exceto IO)?
Até agora, todas as mônadas (que podem ser representadas como um tipo de dados) que encontrei tinham um transformador de mônada correspondente ou poderiam ter um. Existe uma mônada que não pode ter uma? Outodas as mônadas têm um transformador correspondente?
Por umtransformadort
correspondente à mônadam
Eu quero dizer issot Identity
é isomórfico param
. E, é claro, que satisfaz as leis dos transformadores de mônada e quet n
é uma mônada para qualquer mônadan
.
Eu gostaria de ver uma prova (idealmente construtiva) de que toda mônada tem uma, ou um exemplo de uma mônada específica que não a possui (com uma prova). Estou interessado tanto em respostas mais orientadas para Haskell quanto em teóricas (de categoria).
Como questão de acompanhamento, existe uma mônadam
que tem dois transformadores distintost1
et2
? Isso é,t1 Identity
é isomórfico parat2 Identity
e param
, mas há uma mônadan
de tal modo quet1 n
não é isomórfico parat2 n
.
(IO
eST
tem uma semântica especial, então não as levo em consideração aqui e vamos desconsiderá-las completamente. Vamos nos concentrar apenas em mônadas "puras" que podem ser construídas usando tipos de dados.)