monadas leibniz las filosofia educatina doctrina haskell monads

haskell - leibniz - ¿Cuál es el estado actual de mónadas restringidas?



monadas filosofia (2)

Volviendo al menos a finales de la década de 1990, hubo personas que deseaban la integración de mónadas restringidas en Haskell de manera amistosa.

Por ejemplo, sin mónadas restringidas no se puede hacer una mónada eficiente a partir de Set , Map o distribuciones de probabilidad . Aquí hay una pregunta ASÍ de hace unos años donde alguien más se enfrentó a este problema.

Hay varias soluciones que las personas han propuesto, entre ellas:

Ninguno de estos enfoques parece ser "canónico" sin embargo. Encontré un comentario de Don Stewart en esta publicación de blog , en 2007, donde insinuaba que estábamos "bastante cerca" de tener mónadas restringidas con tipos indexados .

¿Cuál es el estado actual? ¿Hay ahora una forma "canónica" de hacer mónadas restringidas? ¿O aún vivimos con soluciones temporales?


Hay un artículo reciente de Anders Persson, Emil Axelsson y Josef Svenningson que muestra una forma de codificar mónadas restringidas. Olvidé los detalles, pero recuerdo que fue un buen papel.

Persson, A.; Axelsson, E.; Svenningsson, J. (2011). Construcciones monádicas genéricas para lenguajes incrustados . IFL 2011, el 23 ° Simposio sobre Implementación y Aplicación de Idiomas Funcionales.


En realidad, es posible obtener una mónada Set eficaz como una mónada regular, sin ninguna restricción. De dos maneras distintas. El siguiente artículo explica ambos:

http://okmij.org/ftp/Haskell/set-monad.html

El artículo también señala que las mónadas restringidas en realidad son bastante restringidas y excluyen muchos modismos monádicos. Conjeturo que los métodos de implementación son generales y cualquier mónada restringida se puede convertir en la habitual, sin perder eficiencia. Entonces, puede parecer que no necesitamos mónadas restringidas en absoluto.