No creo que aún haya asimilado el curry. Entiendo lo que hace y cómo hacerlo. No puedo pensar en una situación en la que lo usaría.JavaScript curry: ¿cuáles son las aplicaciones prácticas?
¿Dónde está usando currying en JavaScript (o donde están las principales bibliotecas que lo usan)? Ejemplos de manipulación de DOM o desarrollo de aplicaciones generales son bienvenidos.
One of the answers menciones de animación. Las funciones como slideUp
, fadeIn
toman un elemento como argumentos y normalmente son una función curried que devuelve la función de orden superior con la función de animación predeterminada incorporada. ¿Por qué es mejor que simplemente aplicar la función ascendente con algunos valores predeterminados?
¿Hay algún inconveniente al usarlo?
a lo solicitado Estos son algunos buenos recursos en JavaScript currificación:
- http://www.dustindiaz.com/javascript-curry/
- Crockford, Douglas (2008) JavaScript: las partes buenas
- http://www.svendtofte.com/code/curried_javascript/ (toma un desvío en ML por lo omita toda la sección de "Un curso acelerado en ML" y comience nuevamente en "Cómo escribir currys JavaScript")
- http://blog.morrisjohns.com/javascript_closures_for_dummies
- How do JavaScript closures work?
- http://ejohn.org/blog/partial-functions-in-javascript (Mr. Resig en el dinero como de costumbre)
- http://benalman.com/news/2010/09/partial-application-in-javascript/
voy a añadir más a medida que surgen en los comentarios.
Por lo tanto, de acuerdo con las respuestas, el currying y la aplicación parcial en general son técnicas de conveniencia.
Si con frecuencia "refina" una función de alto nivel llamándola con la misma configuración, puede curry (o usar la función parcial de Resig) la función de nivel superior para crear métodos de ayuda simples y concisos.
se puede añadir un enlace a un recurso que describe lo que JS currificación es? un tutorial o una publicación de blog sería genial. –
svendtofte.com es extenso, pero si omite toda la sección de "Un curso acelerado en ML" y comienza de nuevo en "Cómo escribir JavaScript curry", se convierte en una excelente introducción al currículum en js. – danio
Este es un buen punto de partida para entender qué es el curry y la aplicación parcial realmente: http://slid.es/gsklee/functional-programming-in-5-minutes – Kay