누구나 아래 정의 된대로 다음 함수의 유형을 알아내는 방법을 설명해 주실 수 있습니까?접이식 함수의 ml 유형 분석
fun fold func [] base = base
| fold func (x::xs) base = fold func xs (func x base);
내 대답은 'C ->'입니다 목록 -> 'B ->'나,하지만 난 내 SML 프로그램에 코드에 연결 한 후 유형이 실제로되어야한다는 것을 알 ('A-> 'b ->'b) -> '목록 ->'b -> 'b.
나는 'a list ->'b -> 'b의 출처를 알고 있지만, 첫 번째 부분은 저를 혼란스럽게합니다. 그것은 func가 'a와 a'b라는 두 개의 인수를 취하여 'b'라는 기본 유형을 반환하기 때문입니까?
도움을 주시면 감사하겠습니다.