A함수의 인자로 들어가는 B함수에서 A함수의 문맥을 참조하는 개념이 혹시 이미 있나요?
Kroisse슈도코드로 쓰면 대충 이런 건데···
define A(f):
define print(x):
Console.writeln(x)
f()
define B(f):
define read():
Console.read()
f()
A( { print(3.isEven()) } ) // A 안의 print를 호출
B( { read().trim() } ) // B 안의 read를 호출
B( { print(read()) } ) // B 안에는 print가 없으므로 에러
혹시 이런 개념이 이미 있었다면 이걸 부르는 명칭 같은 걸 좀 알 수 있을까요? Material을 디자인하다 보니 이런 개념이 필요하게 되었거든요.
Perl, Common Lisp 등에서 지원하는 dynamic scoping이로군요.
앗차, 그거였군요;;