Articles of funcional progtwigción

Función recursiva de la cola para encontrar la profundidad de un árbol en Ocaml

Tengo un tree tipos definido de la siguiente manera type ‘a tree = Leaf of ‘a | Node of ‘a * ‘a tree * ‘a tree ;; Tengo una función para encontrar la profundidad del árbol de la siguiente manera let rec depth = function | Leaf x -> 0 | Node(_,left,right) -> 1 + […]

¿Qué es zip (progtwigción funcional?)

Recientemente vi algunos Clojure o Scala (lo siento, no estoy familiarizado con ellos) y lo hicieron zip en una lista o algo así. ¿Qué es zip y de dónde vino?

¿Qué es la transparencia referencial?

¿Qué significa el término transparencia referencial ? Lo he escuchado describir como “significa que puedes reemplazar a iguales por iguales”, pero parece una explicación inadecuada.

¿Por qué java.util.Collection no implementa la nueva interfaz de Stream?

Me tomé un tiempo para empezar a investigar el zumbido de java-8 acerca de las transmisiones y las lambdas. Lo que me sorprendió es que no puede aplicar las operaciones de Stream, como .map() , .filter() directamente en java.util.Collection . ¿Existe alguna razón técnica por la que la interfaz java.util.Collection no se haya ampliado con […]

java lambda devolviendo una lambda

Estoy tratando de hacer lo que parece ser una cosa relativamente básica en la nueva jdk8 land de la progtwigción funcional, pero no puedo hacer que funcione. Tengo este código de trabajo: import java.util.*; import java.util.concurrent.*; import java.util.stream.*; public class so1 { public static void main() { List l = new ArrayList(Arrays.asList(1, 2, 3)); List<Callable> […]

Diseño a gran escala en Haskell?

¿Cuál es una buena forma de diseñar / estructurar grandes progtwigs funcionales, especialmente en Haskell? He pasado por muchos tutoriales (Write Yourself a Scheme es mi favorito, con Real World Haskell en un segundo plano), pero la mayoría de los progtwigs son relativamente pequeños y de un solo propósito. Además, no considero que algunos de […]

¿Cuál es la diferencia entre la progtwigción de procedimientos y la progtwigción funcional?

He leído los artículos de Wikipedia tanto para la progtwigción de procedimientos como para la progtwigción funcional , pero todavía estoy un poco confundido. ¿Alguien podría hervir hasta el núcleo?

Ventajas de la progtwigción sin estado?

Recientemente he estado aprendiendo sobre progtwigción funcional (específicamente Haskell, pero también he asistido a tutoriales sobre Lisp y Erlang). Si bien encontré los conceptos muy esclarecedores, todavía no veo el lado práctico del concepto de “sin efectos secundarios”. ¿Cuáles son las ventajas prácticas de esto? Estoy tratando de pensar en la mentalidad funcional, pero hay […]

Implicaciones de foldr vs. foldl (o foldl ‘)

En primer lugar, Real World Haskell , que estoy leyendo, dice que nunca uses foldl y en su lugar utilices foldl’ . Así que confío en eso. Pero no entiendo cuándo usar foldr vs. foldl’ . Aunque puedo ver la estructura de cómo funcionan de forma diferente frente a mí, soy demasiado estúpido para entender […]

¿Qué son los paramorfismos?

Al leer este artículo clásico , estoy atascado en paramorfismos. Lamentablemente, la sección es bastante delgada, y la página de Wikipedia no dice nada. Mi traducción de Haskell es: para :: (a -> [a] -> b -> b) -> b -> [a] -> b para f base = h where h [] = base h […]