Haskell 如何将模式匹配定义的函数转换为等效的lambda?
我怎么写Haskell 如何将模式匹配定义的函数转换为等效的lambda?,haskell,Haskell,我怎么写 f 0 = 1 f x = (f(x-1))*2 + 2 作为哈斯克尔的一名兰姆达 期待您的光临。您可以从右侧移动模式匹配,并使用大小写表达式 f = \x -> if x == 0 then 1 else (f (x - 1)) * 2 + 2 f = \ x -> case x of 0 -> 1 x -> f (x-1) * 2 + 1 从左侧删除x,在右侧添加\x->。f 0=1 f=f(\x->-1))*2+2?
f 0 = 1
f x = (f(x-1))*2 + 2
作为哈斯克尔的一名兰姆达
期待您的光临。您可以从右侧移动模式匹配,并使用
大小写表达式
f = \x -> if x == 0 then 1 else (f (x - 1)) * 2 + 2
f = \ x -> case x of
0 -> 1
x -> f (x-1) * 2 + 1
从左侧删除x,在右侧添加\x->。f 0=1 f=f(\x->-1))*2+2?