이건 보통 함수형 언어에서 등장하는 개념인데, 함수 그 자체를 람다라고 보면 됨


즉,


lambda(a, b) { return a + b; };


이런거지. 걍 이름없는 함수라고 보면 됨. 이게 closure 가 될 수 있다. 즉,


{

x = 0;

lambda (a) { x = a + x; return x; }

}


이런 식으로, 보통은 전역 변수가 될 x를 해당 이름없는 함수에서만 접근할 수 있는 변수로 만드는 테크닉을 closure라고 보면 된다.



메타 프로그래밍은 한마디로 "프로그램을 찍어내는 프로그래밍" 이라 보면 됨. 코드 생성


뭐 근데 람다 자체로는 큰 도움 안되지만, first class function 이런 개념 들어가면 파워가 생기기 시작한다.



의례히 그렇듯 형이 푸는 썰은 조팝들은 몰라도 됨