2010-12-08 10 views

답변

2

딥 바인딩은 람다가 구성되는 지점에서 환경을 캡처합니다. 지금까지 내가 아는 한, C#과 Scheme 모두 이런 식으로 행동합니다.

얕은 바인딩은 환경 체인에서 변수의 가장 최근 바인딩을 찾습니다.

Ad-hoc 바인딩은 일종의 해킹입니다. lambda는 호출 지점에서 환경을 인수로 전달할 때 환경을 점유합니다. 그것은 람다가 실수로 바인딩을 구현하는 복잡성없이 전달되는 함수에서 로컬 변수에 바인딩되는 문제를 해결합니다. 그러나 환상은 여전히 ​​얕은 바인딩의 약간의 수정이기 때문에 더 이상 전달되면 중단됩니다.