Lambdas are very much like functions—constructed as described in Lamba Constructors.
The syntax for invoking a lambda is similar to the function invocation syntax:
@(lambda)(arg1, ...)where lambda is an expression returning a lambda value, and arg1, ... are comma-separated expressions that calculate arguments to pass to the lambda.
When invoking a lambda, its body expression will be evaluated with the parameters bound to arguments passed at the invocation point. For example, consider the following expression: let twice=(x)=>2*x return @(twice)(8). The lambda invocation expression here, @(twice)(8), will invoke the lambda value constructed by (x)=>2*x since this is the value bound to variable twice. This invocation will bind the value 8 to argument x, and then evaluate and return the expression 2*x —which will yield 16.