free-monad

¿Qué son las mónadas libres?

He visto el término Gratis Mónada pop-up cada ahora y entonces para algún tiempo, pero todo el mundo parece a hablar de ellos ... ado con las mónadas y los fundamentos de Haskell, pero solo tengo un conocimiento muy aproximado de la teoría de categorías.)

La mónada de la Pausa

Las mónadas pueden hacer muchas cosas increíbles y locas. Pueden crear variables que contienen una superposición de valores. ... s en el registro. (Obviamente esto impide alterar el estado entre pasos, ya que realmente no estamos "pausando" nada ahora.)

¿Cuáles son algunos ejemplos motivadores para Cofree CoMonad en Haskell?

He estado jugando con Cofree, y no puedo bastante grok. Por ejemplo, quiero jugar con Cofree [] Num en ghci y no puedo conse ... < []), (3 :< [])] > extract b 1 > unwrap b [2 :< [],3 :< []] > map extract $ unwrap b [2,3]

¿Cuándo querría usar un patrón de Mónada + Intérprete gratis?

Estoy trabajando en un proyecto que, entre otras cosas, implica una capa de acceso a la base de datos. Bastante normal, en r ... intercambiar mi intérprete. O... ¿Realmente obtengo algo más con el patrón de Mónada + Intérprete libre? Si es así, ¿qué?

¿Qué mónadas se pueden expresar como Libres sobre algún funtor?

La documentación para Free dice: Un número de mónadas comunes surgen como mónadas libres, Dado data Empty a, Fre ... en uno más: Creo que Free (Const e) es isomorfo a Either e. Editar: ¿Qué mónadas son no expresables usando Free y por qué?