Explicando os transformadores de mônada em termos categóricos


8

Muitos recursos relacionados a noções categóricas na programação descrevem mônadas, mas nunca vi uma descrição categórica de transformadores de mônada.

Como os transformadores de mônada podem ser descritos nos termos da teoria das categorias?

Em particular, eu estaria interessado em:

  • a relação entre os transformadores de mônada e suas correspondentes mônadas de base;
  • o relacionamento entre eles e as mônadas que estão transformando em novas mônadas;
  • pilhas de transformadores de mônada.

Respostas:



7

Aumentando a resposta de Andrej:

Ainda não há um amplo acordo sobre a interface apropriada que os transformadores de mônada devem suportar no contexto de programação funcional. O MTL de Haskell é a interface de fato, mas o Monatron de Jaskelioff é uma alternativa.

Um dos relatórios técnicos anteriores de Moggi, uma visão abstrata das linguagens de programação , discute qual deve ser a noção correta de transformador até certo ponto (seção 4.1). Em particular, ele discute a noção de uma operação para uma mônada, que ele (20 anos depois) revisita com Jaskelioff em transformadores de mônada como transformadores de monóide .

(Essa noção de operação é diferente da noção de Plotkin e Power de uma operação algébrica para uma mônada , que equivale a uma flecha de Kleisli.)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.