У меня есть вопрос о списках отображения в ML проблема, кажется, повторяется, у меня есть текущие типы данных определены:списки отображая ML
datatype 'a seq = Nil | Cons of 'a * (unit -> 'a seq);
datatype 'a generic_list = List of 'a list
|Seq of 'a seq;
я сейчас пытаюсь написать следующую функцию, которая предполагается Получать «'в generic_list» и возвращает "ИНТ generic_list:
val rec generic_map = fn (f,List(lst)) => if lst=nil then List([])
else List(f(List.hd(lst))::generic_map(f,List(List.drop(lst,1))));
Этот код не компилируется с ошибкой: правой рукой на стороне пункта не согласен с типом результата функции [tycon рассогласование ]:
'Z generic_list
result type: 'Z list
in declaration:
generic_map =
(fn (f,List lst) =>
if lst = nil
then List nil
else List
(f (List.hd lst) ::
generic_map (f,List (List.drop (lst,1)))))
Я хотел бы знать, Что здесь проблема и как я могу это исправить, так что будет компилировать, я не могу найти ошибку
вопрос, почему он не компилируется, конечно, я не могу понять, где ошибка – yair