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?