J'ai beaucoup réfléchi ces derniers temps à la façon de faire de la programmation fonctionnelle en C ( pas en C ++). De toute évidence, C est un langage procédural et ne prend pas vraiment en charge la programmation fonctionnelle de manière native.
Existe-t-il des extensions de compilateur / langage qui ajoutent des constructions de programmation fonctionnelles au langage? GCC fournit des fonctions imbriquées en tant qu'extension de langage; les fonctions imbriquées peuvent accéder aux variables depuis le cadre de la pile parent, mais c'est encore loin des fermetures matures.
Par exemple, une chose qui, je pense, pourrait être vraiment utile en C est que partout où un pointeur de fonction est attendu, vous pourriez être capable de passer une expression lambda, créant une fermeture qui se désintègre en un pointeur de fonction. C ++ 0x va inclure des expressions lambda (ce que je trouve génial); cependant, je recherche des outils applicables au C.
[Edit] Pour clarifier, je n'essaye pas de résoudre un problème particulier en C qui serait plus adapté à la programmation fonctionnelle; Je suis simplement curieux de savoir quels sont les outils disponibles si je voulais le faire.