Siento que los efectos secundarios son un fenómeno natural. Pero es algo así como un tabú en lenguajes funcionales. ¿Cuales son las razones? Mi pregunta es específica del estilo de programación funcional. No todos los lenguajes / paradigmas de
Siento que los efectos secundarios son un fenómeno natural. Pero es algo así como un tabú en lenguajes funcionales. ¿Cuales son las razones? Mi pregunta es específica del estilo de programación funcional. No todos los lenguajes / paradigmas de
OK, entonces el título es un poco clickbaity, pero en serio he estado diciendo, no pidas patada por un tiempo. Me gusta cómo fomenta que los métodos se utilicen como mensajes de manera orientada a objetos. Pero esto tiene un problema persistente que ha estado dando vueltas en mi cabeza. He llegado...
Digamos que tenemos una función pura normal como function add(a, b) { return a + b } Y luego lo modificamos de modo que tenga un efecto secundario function add(a, b) { writeToDatabase(Math.random()) return a + b; } Por lo que sé, no se considera una función pura porque a menudo escucho que...
Soy principalmente un programador de C / C ++, lo que significa que la mayor parte de mi experiencia es con paradigmas de procedimientos y orientados a objetos. Sin embargo, como saben muchos programadores de C ++, C ++ ha cambiado su énfasis a lo largo de los años a un estilo funcional, que...
Mientras aprendía Haskell, me enfrenté a muchos tutoriales que intentaban explicar qué son las mónadas y por qué las mónadas son importantes en Haskell. Cada uno de ellos utilizó analogías, por lo que sería más fácil captar el significado. Al final del día, he terminado con 3 vistas diferentes de...
Perdón por otra pregunta de efectos secundarios de FP +, pero no pude encontrar una existente que respondiera esto por mí. Mi comprensión (limitada) de la programación funcional es que los efectos de estado / secundarios deben minimizarse y mantenerse separados de la lógica sin estado. También...
En una entrevista con John Hughes donde habla sobre Erlang y Haskell, tiene lo siguiente que decir sobre el uso de bibliotecas con estado en Erlang: Si quiero usar una biblioteca con estado, generalmente construyo una interfaz libre de efectos secundarios encima para que luego pueda usarla de...
¿Qué hace exactamente que la lectura de la memoria del proceso sea una operación pura? Supongamos que creé una matriz de 100 enteros en la memoria global y luego tomé el elemento 42 de esta matriz. No es un efecto secundario, ¿verdad? Entonces, ¿por qué leer la misma matriz de 100 enteros de un...
En mi proyecto actual, estoy teniendo dificultades para encontrar una buena solución para crear pruebas de integración escalables que no tengan efectos secundarios. Una pequeña aclaración sobre la propiedad libre de efectos secundarios: se trata principalmente de la base de datos; no debería haber...
Una vez leí que un método debería tener un valor de retorno (y ser referencialmente transparente) o tener efectos secundarios, pero no ambos. No puedo encontrar ninguna referencia a esta regla, pero quiero obtener más información al respecto. ¿Cuál es el origen de este consejo? ¿De qué persona o...
La programación funcional en Scala explica el impacto de un efecto secundario en la ruptura de la transparencia referencial: efecto secundario, lo que implica alguna violación de la transparencia referencial. He leído parte de SICP , que analiza el uso del "modelo de sustitución" para evaluar...
Cerrada . Esta pregunta está basada en la opinión . Actualmente no está aceptando respuestas. ¿Quieres mejorar esta pregunta? Actualice la pregunta para que pueda ser respondida con hechos y citas editando esta publicación . Cerrado hace 5 años . Estoy...
Estoy empezando a escribir código C ++ para ejecutar un robot, y no sé cómo incorporar pruebas unitarias, si es que puedo. Se me ha proporcionado una biblioteca que permite la creación de "comandos" para el robot, que se programan y ejecutan automáticamente. El mecanismo para crear estos comandos...
De acuerdo con el principio de Separación de consulta de comando , así como las presentaciones de Pensamiento en datos y DDD con Clojure , uno debe separar los efectos secundarios (modificar el mundo) de los cálculos y las decisiones, para que sea más fácil de entender y probar ambas partes. Esto...
Según Wikipedia, los lenguajes de programación funcional , que son declarativos, no permiten efectos secundarios. Programación declarativa en general, intentos de minimizar o eliminar los efectos secundarios. Además, según Wikipedia, un efecto secundario está relacionado con los cambios de estado....
Siempre me han enseñado que tener efectos secundarios en una ifafección es malo. Lo que quiero decir es; if (conditionThenHandle()) { // do effectively nothing } ... Opuesto a; if (condition()) { handle(); } ... y entiendo eso, y mis colegas están contentos porque no lo hago, y todos nos...
Estoy tratando de entender por qué tener una variable local o un bucle for dentro de una función no se considera una programación puramente funcional. Dada esta función: int as_int(char *str) { int acc; /* accumulate the partial result */ for (acc = 0; isdigit(*str); str++) { acc = acc * 10...
En lenguajes FP, llamar a una función con los mismos parámetros una y otra vez devuelve el mismo resultado una y otra vez (es decir, transparencia referencial). Pero una función como esta (pseudocódigo): function f(a, b) { return a + b + currentDateTime.seconds; } no va a devolver el mismo...
Leí "El por qué de Y" de Richard P. Gabriel . Es un artículo fácil de leer sobre el combinador Y, que es bastante raro. El artículo comienza con la definición recursiva de la función factorial: (letrec ((f (lambda (n) (if (< n 2) 1 (* n (f (- n 1))))))) (f 10)) Y explica que letrecse puede...