标签: ml infix-notation
我需要在ML中编写一个函数化合物,其行为如下:
Compound接收bin op f,int n和值x,并将运算符应用于x N次。这是一个例子:
compound f 0 x = x compound f 1 x = x f x
我是ML的新手,所以我无法理解如何编写这个功能。我将非常感谢任何帮助!
答案 0 :(得分:1)
您必须编写一个简化版foldl或foldr的函数,具体取决于f关联性。但是,由于您在示例中错过了括号,我认为f是正确关联的。
foldl
foldr
f
代码将针对您的foldr案例:
fun compound f x 0 = x | compound f x n = f(x, compound f x (n-1));