Hay un montón de tutoriales sobre cómo curry funciones, y tantas preguntas aquí en stackoverflow. Sin embargo, después de leer The Little Schemer, varios libros, tutoriales, publicaciones en blogs e hilos de stackoverflow, todavía no sé la respuesta a la simple pregunta: "¿Qué sentido tiene currying?" Entiendo cómo curry una función, simplemente no el "¿por qué?" Detrás de eso.¿Uso práctico de funciones al curry?
Podría alguien explicarme por los usos prácticos de funciones al curry (fuera de las lenguas que sólo permiten un argumento para cada función, donde la necesidad de utilizar currificación Por supuesto, es bastante evidente.)
edición: Tomando en cuenta algunos ejemplos de TLS, ¿cuál es el beneficio de
(define (action kind)
(lambda (a b)
(kind a b)))
en contraposición a
(define (action kind a b)
(kind a b))
Solo puedo ver más código y ninguna flexibilidad añadida ...
Use 4 sangrías al formatear su código. Consulte [Ayuda de edición] (http://stackoverflow.com/editing-help). –
Dos definiciones, proporcionó, no utiliza currying, estamos hablando, estos son solo ejemplos de diferentes formas de definir una función. Ver el enlace a otra pregunta en el comentario a mi respuesta. –
Interesante, porque 'currying' es exactamente como lo llama TLS ... Citando: "' (lambda (a) (lambda (x) (eq? X a))) '... ¿Es eso 'Curry-ing?' ... [Sí.] " –