(* Напишите функцию date_in_month, которая принимает список дат и месяца (т. Е. Int) и возвращает список, содержащий даты из списка аргументов дат, которые находятся в месяце. Возвращенный список должен содержать даты в порядок, в котором они были первоначально даны. *)
fun dates_in_months( datelist : (int*int*int) list, month : int) =
if null(tl (datelist))
then if #2(hd (datelist)) = month then #2(hd (datelist)) :: [] else []
else if #2(hd (datelist)) = month
then #2(hd (datelist)) :: number_in_month(tl datelist, month)
else number_in_month(tl datelist, month)
Это ошибка, которую я получаю:
hw1.sml:55.22-55.78 Error: operator and operand do not agree [tycon mismatch]
operator domain: int * int list
operand: int * int
in expression:
(fn {2=<pat>,...} => 2) (hd datelist) ::
number_in_month (tl datelist,month)
val it = () : unit
Любая помощь приветствуется.