(define min
(lambda (l)
(cond
((null? l) '())
((null? (cdr l)) (car l))
(#t (let ((a (car l))
(b (min (cdr l))))
(if (< b a) b a))))))
我試圖將前面的Scheme代碼找到列表中最小的元素轉換爲OCaml代碼,我到目前爲止有以下內容:將計劃轉換爲OCaml? ('列表vs'列表清單 - >'列表清單)
let minList x =
match x with
| [] -> []
| hd::tl when tl = [] -> hd
| hd::tl -> if minList tl < hd then minList tl else hd
但是,我得到,說:「這表達的類型爲「列表中的一個錯誤,但預計'a list list -> 'a list list
類型的表達式。
我是一個初學者到功能性的語言和任何幫助將不勝讚賞。