LangDev

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이로군요.

홍민희

앗차, 그거였군요;;

Kroisse