Я хочу создать пользовательскую функцию карты, которая будет выполнять ту же функцию, что и предопределенная функция карты в sml, я написал следующий код:
fun mymap f = fn L => foldr f [] L;
, которая в основном является функцией f, которая может затем приниматьсписок и применить функцию f к списку, так как функция карты берет список и функцию и возвращает другой список, теперь я получаю:
val mymap = fn : ('a * 'b list -> 'b list) -> 'a list -> 'b list
, но предопределенная функция карты имеет следующеевывод:
val it = fn : ('a -> 'b) -> 'a list -> 'b list
в чем проблема, которую я здесь сделал?Спасибо
ПРИМЕЧАНИЕ: я должен использовать функцию foldr или foldl и использовать карри