【发布时间】:2014-05-21 03:21:00
【问题描述】:
我在 ML 中编写函数时遇到问题
local
fun add(g:int->int,f:int->int,m:int,x:int,sum:int):int=
if m>x then sum
else add(g,g o f,m+1,x,sum+(g f x))
in
fun sum f g x=
if x=0 then f x
else add(g,g o f,1,x,f x)
end;
现在,我要做的基本上是 f(x)+g(f(x))+g(g(f(x)))+...+g^x(f(x) ) 但我做错了。我不断收到操作数和运算符不同意的错误。有人可以指出我做错了什么,也许我该如何解决?
fun sum f g x
是函数的给定签名,因此我无法更改它。
【问题讨论】: