Perguntas com a marcação «monads»

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.

368
O que são mônadas gratuitas?

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

366
Por que precisamos de mônadas?

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

189
Em C #, o que é uma mônada?

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

114
Padrão para evitar blocos try catch aninhados?

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

98
O que é mônada indexada?

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

96
Como jogar com Control.Monad.Writer em haskell?

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

91
Diferença entre Estado, ST, IORef e MVar

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