김성국17
가입: 2017년 9월 15일 올린 글: 16
|
올려짐: 2017년9월24일 16:13 주제: |
|
|
x + 1이라는 식의 값을 계산하기 위해선 우선 x의 값을 알아야할 것입니다.
이 때 변수 x의 값이 무엇인지가 어딘가에 기록되어 있어야할 것이고, 그러한 것을 환경(environment)라고 부릅니다.
x + 1의 값을 계산하는데, 환경에 x의 값이 2라고 적혀있다면 식의 값은 3이 되겠죠.
하지만 만약 x의 값이 환경에 기록되어 있지 않다면, x의 값을 알 수가 없으니 식의 값을 계산할 수 없고 결국 오류 상황이 될 것입니다.
이러한 오류 상황에 Exception은 발생시키라는 의미입니다.
환경의 type을 마음대로 해도 된다는 것은, 환경을 구현하는데 있어 어떠한 자료구조를 써도 상관이 없다는 뜻입니다.
함수로 구현할 수도 있을꺼고, [(x, 1); (y, 2); ...] 이런 식의 assoc list로 구현할 수도 있을꺼고, ([x; y; ...] ,[1; 2; ...]) 리스트의 쌍으로 구현할 수도 있을꺼고... 구현 스펙에만 맞는다면 본인이 디자인 하기 나름일 것 같습니다. |
|