lambda lifting是重构程序使其函数定义在全局作用域内独立存在的元编程。一个单独的“lift”将一个局部的函数转换成全局函数。这个过程有两步,包含:
- 通过添加参数消除函数中的自由变量。
- 将函数从一个受限作用域移动到更广泛的作用域。
“lambda lifting”一词由托马斯·约翰逊(Thomas Johnsson)于1982年左右首次提出,并且在历史上作为实现函数式编程语言的一种机制。 在某些现代编译器中,它与其他技术结合使用。
lambda lifting与闭包转换不同
章节标题
參考資料
外部連結