是否存在函数具有中间变量+return的惰性函数(不可变)语言?
Is there a lazy functional (immutable) language where functions have intermediate variables+return?
如果这有明显的答案,我深表歉意。我想找到一种惰性函数式编程语言,其中以下伪代码有意义:
let f = function(x) {
let y = x*x // The variables y and z
let z = y*2 // are local
return z
}
当然,这在像 haskell 这样的函数式声明性语言中是可行的。使用 let 绑定或 where 关键字。这些只是在一个表达式中链接在一起。
--带有'where'
的局部变量
f :: Int -> Int
f x = z where
z = y*2
y = x*x
--带let
的局部变量
g :: Int -> Int
g x =
let y = x*x
z = y*2
in z
如果这有明显的答案,我深表歉意。我想找到一种惰性函数式编程语言,其中以下伪代码有意义:
let f = function(x) {
let y = x*x // The variables y and z
let z = y*2 // are local
return z
}
当然,这在像 haskell 这样的函数式声明性语言中是可行的。使用 let 绑定或 where 关键字。这些只是在一个表达式中链接在一起。
--带有'where'
的局部变量f :: Int -> Int
f x = z where
z = y*2
y = x*x
--带let
的局部变量g :: Int -> Int
g x =
let y = x*x
z = y*2
in z