Я пытаюсь реализовать функцию для добавления одинаковых терминов в отсортированный список кортежей (первое число представляет константу полинома, второе представляет степень).Я ocaml Noob и не знаю, что я делаю неправильно или как сделать это правильно.
Я пытался написать это, но это не работает https://gyazo.com/d37bb66d0e6813537c34225b6d4048d0
let rec simp list =
match list with
| (a,b)::(c,d)::remainder where b == d -> (a+c,b)::simp(remainder)
| (a,b)::(c,d)::remainder where b != d -> (a,b)::(c,d)::simp(remainder)
| _ -> list;;
Это должно объединить все термины с одинаковым вторым значением и просто вернуть один кортеж с их первыми значениямидобавлен в новый список.то есть: [(3,2); (4,2)] -> [(7,2)].