Son zamanlarda C ( değil C ++) fonksiyonel programlama yapmaya gitmek hakkında çok düşünüyordum . Açıkçası, C prosedürel bir dildir ve doğal olarak işlevsel programlamayı gerçekten desteklemez.
Dile bazı işlevsel programlama yapıları ekleyen herhangi bir derleyici / dil uzantısı var mı? GCC, dil uzantısı olarak iç içe geçmiş işlevler sağlar ; yuvalanmış işlevler üst yığın çerçevesinden değişkenlere erişebilir, ancak bu hala olgun kapanışlardan çok uzaktadır.
Örneğin, C'de gerçekten yararlı olabileceğini düşündüğüm bir şey, bir işlev işaretçisinin beklendiği her yerde, bir lambda ifadesini geçerek bir işlev işaretçisine çürüyen bir kapatma oluşturabileceğinizdir. C ++ 0x (harika olduğunu düşünüyorum) lambda ifadeleri içerecek; Ancak, düz C için geçerli araçlar arıyorum.
Açıklamak için, fonksiyonel programlama için daha uygun C belirli bir sorunu çözmeye çalışmıyorum; Bunu yapmak istersem sadece dışarıda hangi araçların olduğunu merak ediyorum.