Я хотел бы применить функции, хранящиеся в списке
let functions = [(fun () -> print_string "fun 1"); (fun () -> print_string "fun 2")]
с функцией высшего порядка, такой как List.iter, для отображения «fun 1» и «fun 2»
Есть ли способ сделать это?
Вот способ сделать это:
List.iter (fun f -> f()) functions
Ваш список состоит из функций с подписью unit -> unit. Поэтому, если вы предоставите () в качестве параметра для каждой функции, они вернут unit, что очевидно для использования внутри List.iter.
unit -> unit
()
unit
List.iter