J'ai beaucoup réfléchi ces derniers temps sur la façon de faire de la programmation fonctionnelle en C (pas C++). De toute évidence, C est un langage procédural et n'a pas vraiment de soutien de la programmation fonctionnelle en mode natif.
Existe-il un compilateur/extensions de langage que d'ajouter quelques constructions de programmation fonctionnelle, à la langue? GCC fournit des fonctions imbriquées comme une extension du langage; fonctions imbriquées peuvent accéder à des variables de la mère cadre de la pile, mais c'est encore un long chemin loin de la maturité des fermetures.
Par exemple, une chose qui je pense pourrait être vraiment utile dans C est que, partout où un pointeur de fonction est prévue, vous pourriez être en mesure de passer d'une expression lambda, la création d'un système de verrouillage qui se désintègre en un pointeur de fonction. C++0x va inclure les expressions lambda (qui je pense est génial); cependant, je suis à la recherche d'outils applicables à droite C.
[Edit] Pour être clair, je ne suis pas en train 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 sont là, que si je voulais le faire.