Ich habe in letzter Zeit viel darüber nachgedacht, wie man funktionale Programmierung in C ( nicht in C ++) durchführt. Offensichtlich ist C eine prozedurale Sprache und unterstützt die funktionale Programmierung von Haus aus nicht wirklich.
Gibt es Compiler- / Spracherweiterungen, die der Sprache einige funktionale Programmierkonstrukte hinzufügen? GCC bietet verschachtelte Funktionen als Spracherweiterung. Verschachtelte Funktionen können auf Variablen aus dem übergeordneten Stapelrahmen zugreifen, dies ist jedoch noch weit von ausgereiften Abschlüssen entfernt.
Eine Sache, die meiner Meinung nach in C wirklich nützlich sein könnte, ist, dass Sie überall dort, wo ein Funktionszeiger erwartet wird, einen Lambda-Ausdruck übergeben können, wodurch ein Abschluss erstellt wird, der in einen Funktionszeiger zerfällt. C ++ 0x wird Lambda-Ausdrücke enthalten (was ich großartig finde); Ich suche jedoch nach Werkzeugen für Straight C.
[Bearbeiten] Zur Verdeutlichung versuche ich nicht, ein bestimmtes Problem in C zu lösen, das für die funktionale Programmierung besser geeignet wäre. Ich bin nur neugierig, welche Tools es gibt, wenn ich das wollte.