Il existe des tonnes de tutoriels sur la façon de curer les fonctions, et autant de questions ici sur stackoverflow. Cependant, après avoir lu The Little Schemer, plusieurs livres, tutoriels, articles de blog et fils de discussion sur stackoverflow, je ne connais toujours pas la réponse à cette simple question : "Quel est l'intérêt du curry ?" Je comprends comment curer une fonction, mais pas le "pourquoi ?" derrière.
Quelqu'un pourrait-il m'expliquer les utilisations pratiques des fonctions curry (en dehors des langages qui ne permettent qu'un seul argument par fonction, où la nécessité d'utiliser le curry est bien sûr tout à fait évidente).
éditer : En prenant en compte certains exemples de TLS, quel est l'intérêt de
(define (action kind)
(lambda (a b)
(kind a b)))
à l'opposé de
(define (action kind a b)
(kind a b))
Je ne vois que plus de code et pas de flexibilité supplémentaire...