だから、私はすでに2つのリストを最小から最大の順に取り、それらが両方ともソートされるようにマージする関数に取り組んでいます。私の考えでは、2 番目のリストを先頭と末尾に分割し、insert を使用して先頭を最初のリストに並べ替え、関数を再度実行しました。ただし、実行すると次のようになります。
Couldn't match expected type `[t0]' with actual type `[a0] -> [a0]'
In the return type of a call of `List.insert'
Probable cause: `List.insert' is applied to too few arguments
これをどのように解決すべきかについて少し混乱しています。コードは次のとおりです。
combsort((x:xs):(y:ys)) = combsort(List.insert(y (x:xs)) : ys)
combsort((x:xs):[]) = []