0
SML의 프로그래밍 언어 클래스에 대한 간단한 연습을하고 있습니다. 연습은 트리의 균형이 맞는지 아닌지 계산하는 것입니다.SML의 패턴 패턴 일치
stdIn:98.42-98.54 Error: operator and operand don't agree [tycon mismatch]
operator domain: IntTree
operand: IntTree * IntTree
in expression:
balanced n1
stdIn:98.63-98.75 Error: operator and operand don't agree [tycon mismatch]
operator domain: IntTree
operand: IntTree * IntTree
in expression:
balanced n2
그러나 NODE
유형 IntTree
이어야한다 : 나는 다음과 같은 오류가 인터프리터에서 이것을 실행하려고 할 때
datatype IntTree = LEAF of int | NODE of (IntTree * IntTree);
fun balanced (LEAF l) = true
| balanced (NODE (LEAF l, NODE n)) = false
| balanced (NODE (NODE n1, NODE n2)) = balanced(n1) andalso balanced(n2)
| balanced (NODE (NODE n, LEAF l)) = false
| balanced (NODE (LEAF l1, LEAF l2)) = true;
: 다음 코드는 내가 올바른 해결책이 될 것이라고 생각 것입니다 왜이 기능이 작동하지 않습니까?