在ATS中lam @是什么意思?

时间:2016-11-11 01:29:24

标签: ats

有时候,我会看到如下代码:

var foo = lam@(x: int): int => ...

lam@的含义是什么? lamlam@之间有什么区别?

1 个答案:

答案 0 :(得分:2)

在内存方面,lam创建一个盒装闭包(如果它是一个闭包),并在堆上分配它。 lam@创建一个平面闭包,并将其分配到堆栈框架上。

请参阅官方教程中的Chapter 26. Linear Closure-Functions Chapter 27. Stack-Allocated Closure-Functions以供参考。