Eu sinto que os efeitos colaterais são um fenômeno natural. Mas é algo como tabu em linguagens funcionais. Quais são as razões? Minha pergunta é específica para o estilo de programação funcional. Nem todas as linguagens / paradigmas de
Eu sinto que os efeitos colaterais são um fenômeno natural. Mas é algo como tabu em linguagens funcionais. Quais são as razões? Minha pergunta é específica para o estilo de programação funcional. Nem todas as linguagens / paradigmas de
OK, então o título é um pouco clickbaity, mas sério, eu já falei, não peça chute por um tempo. Gosto de como incentiva os métodos a serem usados como mensagens de maneira realmente orientada a objetos. Mas isso tem um problema incômodo que tem sido perturbador na minha cabeça. Cheguei a...
Digamos que temos uma função pura normal, como function add(a, b) { return a + b } E então nós a alteramos para que tenha um efeito colateral function add(a, b) { writeToDatabase(Math.random()) return a + b; } Até onde eu sei, não é considerada uma função pura, porque muitas vezes ouço as...
Sou principalmente um programador de C / C ++, o que significa que a maior parte da minha experiência é com paradigmas processuais e orientados a objetos. No entanto, como muitos programadores de C ++ sabem, o C ++ mudou de ênfase ao longo dos anos para um estilo funcional, culminando finalmente na...
Enquanto aprendia Haskell, enfrentei muitos tutoriais tentando explicar o que são mônadas e por que as mônadas são importantes em Haskell. Cada um deles usou analogias para que fosse mais fácil entender o significado. No final do dia, acabei com três visões diferentes do que é uma mônada: Vista 1:...
Desculpe por mais uma pergunta sobre efeitos colaterais do FP +, mas não consegui encontrar uma que já respondesse isso. Meu entendimento (limitado) da programação funcional é que os efeitos de estado / lado devem ser minimizados e mantidos separados da lógica sem estado. Também recolho a...
Em uma entrevista com John Hughes, onde ele fala sobre Erlang e Haskell, ele tem o seguinte a dizer sobre o uso de bibliotecas com estado em Erlang: Se eu quiser usar uma biblioteca com estado, geralmente construo uma interface sem efeitos colaterais sobre ela, para que eu possa usá-la com...
O que exatamente faz da leitura da memória do processo uma operação pura? Suponha que eu criei uma matriz de 100 números inteiros na memória global e depois peguei o 42º elemento dessa matriz. Não é um efeito colateral, certo? Então, por que a leitura da mesma matriz de 100 números inteiros de um...
No meu projeto atual, estou tendo dificuldades para encontrar uma boa solução para criar testes de integração escaláveis que não tenham efeitos colaterais. Um pequeno esclarecimento sobre a propriedade livre de efeitos colaterais: é principalmente sobre o banco de dados; não deve haver nenhuma...
Li uma vez que um método deveria ter um valor de retorno (e ser referencialmente transparente) ou ter efeitos colaterais, mas não ambos. Não consigo encontrar referências a esta regra, mas quero aprender mais sobre ela. Qual é a origem deste conselho? De que pessoa ou comunidade surgiu? Crédito...
A programação funcional no Scala explica o impacto de um efeito colateral na quebra da transparência referencial: efeito colateral, o que implica alguma violação da transparência referencial. Eu li parte do SICP , que discute o uso do "modelo de substituição" para avaliar um programa. Como eu...
Fechado . Esta questão é baseada em opiniões . No momento, não está aceitando respostas. Deseja melhorar esta pergunta? Atualize a pergunta para que ela possa ser respondida com fatos e citações editando esta postagem . Fechado há 5 anos . Estou fazendo...
Estou começando a escrever código C ++ para executar um robô e não sei como incorporar testes de unidade, se é que posso. Recebi uma biblioteca que permite a criação de "comandos" para o robô, que são agendados e executados automaticamente. O mecanismo para criar estes comandos é a subclasse uma...
De acordo com o princípio de Separação de Consulta por Comando , assim como as apresentações Thinking in Data e DDD with Clojure, é necessário separar os efeitos colaterais (modificando o mundo) dos cálculos e decisões, para que seja mais fácil entender e testar as duas partes. Isso deixa uma...
Segundo a Wikipedia, linguagens de programação funcional , declarativas, eles não permitem efeitos colaterais. A programação declarativa em geral, tenta minimizar ou eliminar os efeitos colaterais. Além disso, de acordo com a Wikipedia, um efeito colateral está relacionado a alterações de estado....
Eu sempre fui ensinado que ter efeitos colaterais em uma ifcondição é ruim. O que eu quero dizer é; if (conditionThenHandle()) { // do effectively nothing } ... em oposição a; if (condition()) { handle(); } ... e eu entendo isso, e meus colegas estão felizes porque eu não faço, e todos nós...
Estou tentando entender por que ter uma variável local ou um loop for dentro de uma função não é considerado pura programação funcional. Dada esta função: int as_int(char *str) { int acc; /* accumulate the partial result */ for (acc = 0; isdigit(*str); str++) { acc = acc * 10 + (*str -...
Nas linguagens FP, chamar uma função com os mesmos parâmetros repetidamente retorna o mesmo resultado repetidamente (ou seja, transparência referencial). Mas uma função como esta (pseudo-código): function f(a, b) { return a + b + currentDateTime.seconds; } não retornará o mesmo resultado para...
Eu li "O porquê de Y" de Richard P. Gabriel . É um artigo de fácil leitura sobre o combinador Y, o que é bastante raro. O artigo começa com a definição recursiva da função fatorial: (letrec ((f (lambda (n) (if (< n 2) 1 (* n (f (- n 1))))))) (f 10)) E explica que letrecpode ser definido com...