Mon point est qu'une implémentation bibliothèque de la PF en C++ va devoir choisir un point de compromis entre complexité d'implémentation, lourdeur d'utilisation, fonctionnalités et performances. Tu peux faire effectivement le choix de limiter les fonctionalités et de complexifier l'implementation (a priori je doute que la facilité d'utilisation intervienne) pour garder de bonnes performances. Il est toujours possible aussi d'essayer de trouver une nouvelle technique d'implémentation qui augmente les points atteignables.
Quelque chose de plus intégré au langage (comme les lambda de C++0X) a plus de souplesse, mais est toujours plus contraint que pour un langage conçu pour être fonctionnel (la bonne technique pour concevoir un langage supportant les paradigmes fonctionnels et impératifs, c'est de partir d'un noyau fonctionnel et de l'étendre).
---------------
The truth is rarely pure and never simple (Oscar Wilde)