monads

¿Por qué los efectos secundarios se modelan como mónadas en Haskell?

¿Podría alguien dar algunos consejos sobre por qué los cálculos impuros en Haskell se modelan como mónadas? Quiero decir monad es solo una interfaz con 4 operaciones, así que ¿cuál fue el razonamiento para modelar los efectos secundarios en ella?

¿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.)

¿Qué es la mónada indexada?

¿Qué es la mónada indexada y la motivación para esta mónada? He leído que ayuda a realizar un seguimiento de los efectos s ... sería un ejemplo de cómo puede ayudar a realizar un seguimiento de los efectos secundarios (o cualquier otro ejemplo válido)?

Diferencia entre Estado, ST, IORef y MVar

Estoy trabajando a través de Escriba Usted mismo un Esquema en 48 Horas (estoy hasta alrededor de 85 horas) y he llegado a la ... f LispVal)] confusa - ¿por qué la segunda IORef? ¿Qué se romperá si escribo type ENV = State [(String, LispVal)] en su lugar?

Ejemplo concreto que muestra que las mónadas no están cerradas bajo composición (con prueba)?

Es bien sabido que los funtores aplicativos están cerrados bajo composición, pero las mónadas no lo están. Sin embargo, he e ... lo (con la prueba de acompañamiento) servirá; no estoy necesariamente buscando una prueba del ejemplo anterior en particular.

Patrón para evitar anidados try catch bloques?

Considere una situación en la que tengo tres (o más) formas de realizar un cálculo, cada una de las cuales puede fallar con u ... cualquier método dado en un try / catch y devuelve null en caso de fallo, pero no estoy seguro de cómo lo haría. Alguna idea?

Confundido con la for-comprensión a flatMap/Transformación de mapa

Realmente no parece entender el Mapa y el mapa plano. Lo que estoy fallando en entender es cómo un for-comprensión es una sec ... on => None } Sería genial si alguien pudiera arrojar algo de luz sobre la razón detrás del uso de map y flatMap aquí.

Mónadas con Java 8

En el interés de ayudar a entender lo que es una mónada, ¿puede alguien proporcionar un ejemplo usando java ? ¿Son posibles ? ... ) {{ add(10); add(10); }}; int[] results = transformService.transform(inputs); }

¿Por qué tenemos map, fmap y liftM?

map :: (a -> b) -> [a] -> [b] fmap :: Functor f => (a -> b) -> f a -> f b liftM :: Monad m => (a -> b) -> m a -> m b ¿Por qué tenemos tres funciones diferentes que hacen esencialmente lo mismo?

mtl, transformers, monads-fd, monadLib, y la paradoja de la elección

Hackage tiene varios paquetes para monad transformers: mtl : Monad transformer library transformadores : Transformadore ... os de alguna manera? ¿Y Andy y Ross consideran que alguno de sus propios paquetes es obsoleto? ¿Cuál debe usted y yo ¿usar?

Cómo jugar con Control.Mónada.Escritor en haskell?

Soy nuevo en la programación funcional y recientemente estoy aprendiendo en Aprende a Haskell, pero cuando pasé por este capí ... de datos y obtener un escritor. Supongo que podría ser un problema relacionado con la versión y mi versión de ghci es 7.4.1

¿Cómo funciona la ST monad?

Entiendo que la mónada SANTA es algo así como un hermano pequeño de io, que a su vez es la mónada del estado con RealWorld ma ... ado (debido a la forall)? Solo estoy lanzando ideas y realmente apreciaría que alguien más conocedor que yo me lo explicara.

¿Cuándo está bien usar un IORef?

Una cosa que siempre me ha confundido es si es o no un buen momento para usar un IORef. ¿Hay alguna guía que deba seguirse al decidir si usar o no un IORef para una tarea? ¿Cuándo es un buen momento para usar la mónada Estatal sobre un IORef?

Mónadas como complementos

He estado leyendo sobre mónadas en teoría de categorías. Una definición de mónadas usa un par de funtores adjuntos. Una mónad ... gorías, pero no he visto ninguna explicación de las mónadas Haskell en términos de funtores adjuntos. ¿Alguien lo ha pensado?

Las mónadas vs Flechas

Estoy ampliamente familiarizado con los conceptos de mónadas y flechas como se utilizan en la programación funcional. Tambi ... fundido sobre cómo seleccionar cuál usar en cualquier situación dada. ¿Cuándo debo usar mónadas y cuándo debo usar flechas?

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 los beneficios del análisis aplicativo sobre el análisis monádico?

Parece haber un consenso de que debe usar Parsec como un aplicativo en lugar de una mónada. ¿Cuáles son los beneficios del análisis aplicativo sobre el análisis monádico? estilo rendimiento abstracción ¿Es el análisis monádico?

Evitar la elevación con transformadores de mónada

Tengo un problema para que una pila de transformadores de mónada (o incluso un transformador de mónada) sobre IO. Todo está b ... o es realmente de tipos mixtos? ¿No sería bueno si GHC lanzó un poco de azúcar sintáctica (por ejemplo, <-$ = <- lift)?

¿El uso de Haskell state monad huele a código?

Dios, odio el término "olor a código", pero no puedo pensar en nada más preciso. Estoy diseñando un lenguaje y compilador de ... Debería realmente tratar de eliminar / minimizar el uso de la mónada de estado, o es un "patrón de diseño"funcional legítimo?

Mónadas con Join () en lugar de Bind()

Las mónadas generalmente se explican por turnos de return y bind. Sin embargo, deduzco que también puede implementar bind en ... oin? (Es decir, sin mencionar >>= en absoluto. Creo que tal vez eso podría ayudar a que se hunda en mi tonto cerebro...