Tendo examinado brevemente Haskell recentemente, qual seria uma explicação breve, sucinta e prática sobre o que é essencialmente uma mônada? Descobri que a maioria das explicações que encontrei é bastante inacessível e carece de detalhes
Uma mônada em programação é uma descrição de computação combinável. Mônadas são uma construção importante em linguagens de programação funcionais como Haskell.
Tendo examinado brevemente Haskell recentemente, qual seria uma explicação breve, sucinta e prática sobre o que é essencialmente uma mônada? Descobri que a maioria das explicações que encontrei é bastante inacessível e carece de detalhes
Em termos que um programador de OOP entenderia (sem nenhum fundo de programação funcional), o que é uma mônada? Que problema ele resolve e quais são os locais mais comuns em que é usado? EDITAR: Para esclarecer o tipo de entendimento que eu estava procurando, digamos que você estava convertendo...
Quem primeiro disse o seguinte? Uma mônada é apenas um monóide na categoria de endofunitores, qual é o problema? E, em uma nota menos importante, isso é verdade e, em caso afirmativo, você poderia dar uma explicação (espero que possa ser entendida por alguém que não tenha muita experiência com...
Fechado . Esta questão precisa ser mais focada . No momento, não está aceitando respostas. Fechado há 3 anos . Bloqueado . Esta pergunta e suas respostas estão bloqueadas porque a questão está fora do tópico, mas tem um significado histórico. No momento, não...
Se eu tiver um EnumeratorTe um correspondente IterateeT, posso executá-los 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] Se a mônada do enumerador for "maior" que a...
Eu vi o termo gratuito Mônada pop up a cada agora e , em seguida, por algum tempo, mas todo mundo só parece usar / discuti-los sem dar uma explicação sobre o que são. Então: o que são mônadas gratuitas? (Eu diria que estou familiarizado com as mônadas e os conceitos básicos de Haskell, mas tenho...
Na minha humilde opinião, as respostas à famosa pergunta "O que é uma mônada?" , especialmente os mais votados, tente explicar o que é uma mônada sem explicar claramente por que as mônadas são realmente necessárias . Eles podem ser explicados como a solução para um
Enquanto explico para alguém o que é uma classe de tipo X, luto para encontrar bons exemplos de estruturas de dados que são exatamente X. Então, peço exemplos para: Um construtor de tipo que não é um Functor. Um construtor de tipo que é um Functor, mas não Aplicável. Um construtor de tipo que é...
Atualmente, fala-se muito em mônadas. Eu li alguns artigos / postagens de blog, mas não posso ir longe o suficiente com seus exemplos para entender completamente o conceito. O motivo é que as mônadas são um conceito de linguagem funcional e, portanto, os exemplos estão em idiomas com os quais não...
Alguém poderia dar algumas dicas sobre por que os cálculos impuros em Haskell são modelados como mônadas? Quero dizer, a mônada é apenas uma interface com 4 operações, então qual foi o motivo para modelar os efeitos colaterais nela?
A mônada do leitor é tão complexa e parece inútil. Em uma linguagem imperativa como Java ou C ++, não existe um conceito equivalente para a mônada do leitor, se não me engano. Você pode me dar um exemplo simples e esclarecer um pouco
Considere uma situação em que tenho três (ou mais) maneiras de realizar um cálculo, cada uma das quais pode falhar com uma exceção. A fim de tentar cada cálculo até encontrarmos um que seja bem-sucedido, tenho feito o seguinte: double val; try { val = calc1(); } catch (Calc1Exception e1) { try...
Os candidatos compõem, as mônadas não. O que significa a afirmação acima? E quando um é preferível ao
Fechadas. Esta pergunta não atende às diretrizes do Stack Overflow . Atualmente não está aceitando respostas. Quer melhorar esta questão? Atualize a pergunta para que esteja no tópico do Stack Overflow. Fechado há 4 anos . Melhore esta questão...
map :: (a -> b) -> [a] -> [b] fmap :: Functor f => (a -> b) -> f a -> f b liftM :: Monad m => (a -> b) -> m a -> m b Por que temos três funções diferentes que fazem essencialmente a mesma
O que é mônada indexada e a motivação para essa mônada? Eu li que ajuda a controlar os efeitos colaterais. Mas a assinatura do tipo e a documentação não me levam a lugar nenhum. Qual seria um exemplo de como pode ajudar a controlar os efeitos colaterais (ou qualquer outro exemplo...
Eu sou novo em programação funcional e recentemente aprendi em Learn You a Haskell , mas quando li este capítulo , fiquei preso no programa abaixo: import Control.Monad.Writer logNumber :: Int -> Writer [String] Int logNumber x = Writer (x, ["Got number: " ++ show x]) multWithLog :: Writer...
O Hackage tem vários pacotes para transformadores monad: mtl : Biblioteca do transformador Monad transformadores : functor de concreto e transformadores monad monads-fd : classes Monad, usando dependências funcionais monads-tf : classes Monad, usando famílias de tipo monadLib : uma coleção de...
Estou trabalhando em Escreva para você mesmo um esquema em 48 horas (até cerca de 85 horas) e cheguei à parte sobre como adicionar variáveis e atribuições . Há um grande salto conceitual neste capítulo, e eu gostaria que tivesse sido feito em duas etapas, com uma boa refatoração no meio, em...
Eu realmente não pareço estar entendendo Map e FlatMap. O que não consigo entender é como uma compreensão para é uma sequência de chamadas aninhadas para map e flatMap. O exemplo a seguir é de Functional Programming in Scala def bothMatch(pat:String,pat2:String,s:String):Option[Boolean] = for...