한재화
가입: 2007년 10월 6일 올린 글: 25
|
올려짐: 2007년10월18일 17:38 주제: 트리를 만들때 null에 관한 질문입니다. |
|
|
leaf 나 node는 int 나, tree를 받아 tree를 내놓는 함수잖아요.
근데null에 대한 이해가 잘 되지 않네요.
단지 int 타입이라고 하면, null을 어떤 정수로 정의해야 하지 않습니까?
그럼 만약 left, right subtree에 둘다 null이 들어가있으면 된다라고 정의를 하면, 레코드와 int의 equality가 정의되었냐하는 문제에 빠지게 되네요.
방금 작은 테스트를 해보았는데,
| 코드: |
let x:={a:=3,b:=4} in
let y:=3 in
if (x=y) then (write 1) else (write 0)
|
에서
| 인용: |
오류 : Record type is used as Num type
| 이라는 오류가 뜨네요.
제 생각은 null을 int 타입이 아니라 빈 레코드 타입으로 정의하여서
와 같이 하는게 맞다고 보는데, 답변 부탁드립니다. |
|