Functional programming 将x应用于函数列表(SML)

Functional programming 将x应用于函数列表(SML),functional-programming,sml,smlnj,Functional Programming,Sml,Smlnj,我正在尝试创建一个函数myMap,它使用map将x应用于函数列表 示例: myMap [f1, f2, ..., fn] x ==> [f1(x), f2(x), ..., fn(x)] fun myMap [x] y = [fn => x ] => x; 我相信我需要写一个匿名函数来完成这个任务,但是我很难理解它们是如何工作的 我的尝试: myMap [f1, f2, ..., fn] x ==> [f1(x), f2(x), ..., fn(x)] fun

我正在尝试创建一个函数
myMap
,它使用
map
x
应用于函数列表

示例:

myMap [f1, f2, ..., fn] x 
==> [f1(x), f2(x), ..., fn(x)]
fun myMap [x] y = [fn => x ] => x;
我相信我需要写一个匿名函数来完成这个任务,但是我很难理解它们是如何工作的

我的尝试:

myMap [f1, f2, ..., fn] x 
==> [f1(x), f2(x), ..., fn(x)]
fun myMap [x] y = [fn => x ] => x;

我不确定您在尝试中试图做什么,因为它无效
sml
,但您可以将函数列表应用于这样的单个值

- fun myMap x fns = map (fn f => f x) fns;
val myMap = fn : 'a -> ('a -> 'b) list -> 'b list
你可以试试看

- myMap 1 [(fn x => x+1), (fn x => x+2), (fn x=> x+3)];
val it = [2,3,4] : int list
您可以看到匿名函数的语法是
fn arg=>body