Область действия переменных и с какой средой они связаны.
А как сложно их реализовать в компиляторе :)
ClosureA может быть связано с его локальной областью видимости LA и PA родительской области видимости, тогда замыкание внутри того, что называется ClosureB, связано (потенциально) с LB, LA, PA
func a( v1,v2,v3 ){
closure_b(bv1, bv2, bv3) { # Closure
b_local1 = bv1
b_local2 = v1 # parent scope
closure_c(cv1, cv2) { # Nested closure has 'closure_b's scope too
c_local1 = cv1
c_local2 = bv1 # direct-parent scope
c_local3 = v1 # parent's parent scope (nesting)
c_local4 = b_local2
}
return closure_c;
}
return closure_b(); # closure_b() returns closure_c
}