Non credo di aver ancora criticato il curry. Capisco cosa fa e come farlo. Non riesco proprio a pensare a una situazione che la userei.
Dove stai usando il curry in JavaScript (o dove lo usano le principali librerie)? Manipolazione DOM o esempi generali di sviluppo di applicazioni sono benvenuti.
Una delle risposte menziona l'animazione. Funzioni come slideUp
, fadeIn
prendono un elemento come argomenti e sono normalmente una funzione curry che restituisce la funzione di ordine superiore con la "funzione di animazione" predefinita incorporata. Perché è meglio che semplicemente applicare la funzione di rialzo con alcune impostazioni predefinite?
Ci sono degli svantaggi nell'usarlo?
Come richiesto qui ci sono alcune buone risorse sul curriculum JavaScript:
- http://www.dustindiaz.com/javascript-curry/
- Crockford, Douglas (2008) JavaScript: The Good Parts
- http://www.svendtofte.com/code/curried_javascript/ (Fa una deviazione in ML, quindi salta l'intera sezione da "Un corso intensivo in ML" e ricomincia da "Come scrivere JavaScript al curry")
- http://web.archive.org/web/20111217011630/http://blog.morrisjohns.com:80/javascript_closures_for_dummies
- Come funzionano le chiusure JavaScript?
- http://ejohn.org/blog/partial-functions-in-javascript (Mr. Resig sul denaro come al solito)
- http://benalman.com/news/2010/09/partial-application-in-javascript/
Aggiungerò altro man mano che spuntano nei commenti.
Quindi, secondo le risposte, il curry e l'applicazione parziale in generale sono tecniche di praticità.
Se stai spesso “perfezionando” una funzione di alto livello chiamandola con la stessa configurazione, puoi curry (o usare il parziale di Resig) la funzione di livello superiore per creare metodi di supporto semplici e concisi.
svendtofte.com
sembrare morto - l'ho trovato sulla macchina WayBack anche se su web.archive.org/web/20130616230053/http://www.svendtofte.com/… Siamo spiacenti, blog.morrisjohns.com/javascript_closures_for_dummies sembra essere inattivo anche