时
...
(begin (command1 arg1)
(command2 arg2)
(command3 arg3))
...
功能构造?
答案 0 :(得分:3)
你可以通过避免副作用在Scheme中编写很多pf纯函数代码。当你没有副作用时,任何形式的begin
都是不存在的,因为begin
中不是最后一个并且没有副作用的每个表达都是死代码。
您在begin
表达式和每个派生语法(如lambda
)中都有明确的let
。
答案 1 :(得分:2)
" begin
用于对分配,输入/输出或其他导致副作用的操作进行排序。" R. Kent Dybvig," The Scheme Programming Language",Third Edition,Section 5.2。 (取自:http://www.scheme.com/tspl3)
所以开始不是一个纯粹的功能构造。