У меня есть следующая таблица функций, которая принимает список кортежей (x - строки, а y - список строк), и я хочу вернуть кортеж x1 и длину списка y1. Я попробовал это с этой простой функцией:
let rec table lst = function
| [] -> []
| [(x1, y1, x2, y2)] -> [(x1, (List.length y1))]
| (x1_h, y1_h, x2_h, y2_h) :: tail -> (x1_h, (List.length y1_h))::(table tail)
Но произошла следующая ошибка:
Ошибка: это выражение имеет тип
('a *' b list * 'c *' d) список -> ('a * int) список
но ожидалось выражение типа ('a * int) list
Я не совсем уверен, что я там не так сделал.