Articles of progtwigción funcional

¿Cómo identifico objetos inmutables en Java?

En mi código, estoy creando una colección de objetos a la que accederán varios hilos de una forma que solo es segura si los objetos son inmutables. Cuando se intenta insertar un nuevo objeto en mi colección, quiero probar para ver si es inmutable (si no, lanzaré una excepción). Una cosa que puedo hacer es […]

“Los cierres son objetos del pobre y viceversa”. ¿Qué significa esto?

Los cierres son objetos del pobre y viceversa. He visto esta statement en muchos lugares de la web ( incluido SO ) pero no entiendo muy bien lo que significa. ¿Podría alguien explicar qué significa exactamente? Si es posible, incluya ejemplos en su respuesta.

¿Cuál es la diferencia entre lapply y do.call?

Estoy aprendiendo R recientemente y confundido por dos funciones: lapply y do.call . Parece que son simplemente similares a la función de map en Lisp. Pero ¿por qué hay dos funciones con un nombre tan diferente? ¿Por qué R no usa una función llamada map ?

¿Cómo se puede hacer algo útil sin estado mutable?

He estado leyendo muchas cosas acerca de la progtwigción funcional últimamente, y puedo entender la mayor parte, pero una de las cosas que no puedo entender es la encoding sin estado. Me parece que simplificar la progtwigción eliminando el estado mutable es como “simplificar” un automóvil eliminando el tablero: el producto final puede ser más […]

Fusionando dos listas en Haskell

No se puede averiguar cómo combinar dos listas de la siguiente manera en Haskell: INPUT: [1,2,3,4,5] [11,12,13,14] OUTPUT: [1,11,2,12,3,13,4,14,5]

¿Qué son los “patrones n + k” y por qué están prohibidos en Haskell 2010?

Al leer la entrada de Wikipedia en Haskell 2010 me encontré con esto: — using only prefix notation and n+k-patterns (no longer allowed in Haskell 2010) factorial 0 = 1 factorial (n+1) = (*) (n+1) (factorial n) ¿Qué quieren decir con “patrones n + k”? Supongo que es la segunda línea, pero no entiendo qué […]

¿Qué es Hindley-Milner?

Me encontré con este término Hindley-Milner , y no estoy seguro de entender lo que significa. He leído las siguientes publicaciones: Steve Yegge – Lenguajes dynamics Contraatacan Steve Yegge – El problema de Pinocho Daniel Spiewak – ¿Qué es Hindley-Milner? (y por qué es genial?) Pero no hay una sola entrada para este término en […]

¿Qué constituye un pliegue para tipos distintos de la lista?

Considere una lista de enlaces únicos. Se ve algo así como data List x = Node x (List x) | End Es natural definir una función de plegado como reduce :: (x -> y -> y) -> y -> List x -> y En cierto sentido, reduce f x0 reemplaza cada Node con f y […]

Progtwigción funcional y progtwigción no funcional

En mi segundo año de universidad, nos “enseñaron” Haskell, no sé casi nada al respecto y menos aún sobre progtwigción funcional. ¿Qué es la progtwigción funcional, por qué y / o dónde lo usaría en lugar de la progtwigción no funcional y estoy en lo cierto al pensar que C es un lenguaje de progtwigción […]

¿Cómo componer `no` con una función de aridad arbitraria?

Cuando tengo alguna función de tipo como f :: (Ord a) => a -> a -> Bool fab = a > b Me gustaría hacer una función que ajuste esta función con no. por ejemplo, hacer funcionar de esta manera g :: (Ord a) => a -> a -> Bool gab = not $ fab […]