最近我一直在思考如何用 C (没有 C + +)进行函数式编程。显然,c 是一个工作语言,并不真正支持函数式编程。
是否有任何编译器/语言扩展可以向语言中添加一些函数式编程结构?GCC 提供了 嵌套函数作为语言扩展; 嵌套函数可以从父堆栈框架访问变量,但是距离成熟的闭包还有很长的路要走。
例如,我认为在 C 语言中非常有用的一点是,在任何需要函数指针的地方,都可以传递一个 lambda 表达式,创建一个衰减为函数指针的闭包。C + + 0x 将包含 lambda 表达式(我认为这很棒) ; 然而,我正在寻找适用于直接 C 的工具。
[编辑]澄清一下,我并没有试图用 C 语言解决一个更适合函数式编程的特定问题; 我只是好奇,如果我想这样做的话,会有哪些工具存在。