Habiendo mirado brevemente a Haskell recientemente, ¿cuál sería un explicación breve, sucinta y práctica de lo que esencialmente es una mónada? La mayoría de las explicaciones que he encontrado son bastante inaccesibles y carecen de detalles
Una mónada en programación es una descripción de cálculo componible. Las mónadas son una construcción importante en lenguajes de programación funcional como Haskell.
Habiendo mirado brevemente a Haskell recientemente, ¿cuál sería un explicación breve, sucinta y práctica de lo que esencialmente es una mónada? La mayoría de las explicaciones que he encontrado son bastante inaccesibles y carecen de detalles
En términos que un programador de OOP entendería (sin ningún fondo de programación funcional), ¿qué es una mónada? ¿Qué problema resuelve y cuáles son los lugares más comunes en los que se usa? EDITAR: Para aclarar el tipo de comprensión que estaba buscando, digamos que estaba convirtiendo una...
¿Quién dijo primero lo siguiente? Una mónada es solo un monoide en la categoría de endofunctores, ¿cuál es el problema? Y en una nota menos importante, ¿es esto cierto y, de ser así, podría dar una explicación (con suerte, una que pueda entender alguien que no tenga mucha experiencia con...
Cerrada . Esta pregunta necesita estar más centrada . Actualmente no está aceptando respuestas. Cerrado hace 3 años . Bloqueado . Esta pregunta y sus respuestas están bloqueadas porque la pregunta está fuera de tema pero tiene un significado histórico....
Si tengo un EnumeratorTy un correspondiente IterateeT, puedo ejecutarlos juntos: val en: EnumeratorT[String, Task] = EnumeratorT.enumList(List("a", "b", "c")) val it: IterateeT[String, Task, Int] = IterateeT.length (it &= en).run : Task[Int] Si la mónada enumeradora es "más grande" que la...
He visto el término libre mónada pop-up cada ahora y entonces durante algún tiempo, pero todo el mundo parece utilizar / discutirlas sin dar una explicación de lo que son. Entonces: ¿qué son las mónadas libres? (Diría que estoy familiarizado con las mónadas y los conceptos básicos de Haskell, pero...
En mi humilde opinión, las respuestas a la famosa pregunta "¿Qué es una mónada?" , especialmente los más votados, trate de explicar qué es una mónada sin explicar claramente por qué las mónadas son realmente necesarias . ¿Pueden explicarse como la solución a un
Al explicarle a alguien qué es un tipo de clase X, lucho por encontrar buenos ejemplos de estructuras de datos que sean exactamente X. Entonces, solicito ejemplos para: Un constructor de tipos que no es un Functor. Un constructor de tipos que es un Functor, pero no Aplicativo. Un constructor de...
Se habla mucho de mónadas en estos días. He leído algunos artículos / publicaciones de blog, pero no puedo ir lo suficientemente lejos con sus ejemplos para comprender completamente el concepto. La razón es que las mónadas son un concepto de lenguaje funcional y, por lo tanto, los ejemplos están en...
¿Alguien podría dar algunos consejos sobre por qué los cálculos impuros en Haskell se modelan como mónadas? Quiero decir que mónada es solo una interfaz con 4 operaciones, entonces, ¿cuál fue el razonamiento para modelar los efectos secundarios?
La mónada lectora es tan compleja y parece inútil. En un lenguaje imperativo como Java o C ++, no existe un concepto equivalente para la mónada del lector, si no me equivoco. ¿Puedes darme un ejemplo sencillo y aclarar esto un
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 una excepción. Para intentar cada cálculo hasta encontrar uno que tenga éxito, he estado haciendo lo siguiente: double val; try { val = calc1(); } catch (Calc1Exception...
Los candidatos componen, las mónadas no. ¿Qué significa la declaración anterior? ¿Y cuándo es preferible uno a
Cerrado. Esta pregunta no cumple con las pautas de Stack Overflow . Actualmente no acepta respuestas. ¿Quieres mejorar esta pregunta? Actualice la pregunta para que esté relacionada con el tema de Stack Overflow. Cerrado hace 4 años . Mejora esta...
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
¿Qué es la mónada indexada y la motivación de esta mónada? He leído que es útil realizar un seguimiento de los efectos secundarios. Pero la firma tipográfica y la documentación no me llevan a ninguna parte. ¿Cuál sería un ejemplo de cómo puede ayudar hacer un seguimiento de los efectos...
Soy nuevo en la programación funcional y recientemente aprendí en Learn You a Haskell , pero cuando revisé este capítulo , me quedé atascado con el siguiente programa: import Control.Monad.Writer logNumber :: Int -> Writer [String] Int logNumber x = Writer (x, ["Got number: " ++ show x])...
Hackage tiene varios paquetes para transformadores de mónadas: mtl : biblioteca de transformadores Monad transformadores : functor de hormigón y transformadores de mónada monads-fd : clases de mónadas , usando dependencias funcionales monads-tf : clases de mónadas , utilizando familias de...
Estoy trabajando en Escriba usted mismo un esquema en 48 horas (estoy hasta aproximadamente 85 horas) y he llegado a la parte sobre cómo agregar variables y asignaciones . Hay un gran salto conceptual en este capítulo, y desearía que se hubiera hecho en dos pasos con una buena refactorización en...
Realmente no parece entender Map y FlatMap. Lo que no entiendo es cómo una para la comprensión es una secuencia de llamadas anidadas a map y flatMap. El siguiente ejemplo es de Programación funcional en Scala def bothMatch(pat:String,pat2:String,s:String):Option[Boolean] = for { f <-...