如果这有明显的答案,我道歉。我想找到一种懒惰的函数式编程语言,其中下面的伪代码是有意义的:
let f = function(x) {
let y = x*x // The variables y and z
let z = y*2 // are local
return z
}
答案 0 :(得分:0)
当然,这在像haskell这样的功能性声明语言中是可行的。使用let绑定或where关键字。这些只是在一个表达式中链接在一起。
- 带'where'
的局部变量f :: Int -> Int
f x = z where
z = y*2
y = x*x
- 带有
的局部变量g :: Int -> Int
g x =
let y = x*x
z = y*2
in z