(开始......)是一个功能构造吗?

时间:2014-06-23 08:38:13

标签: scheme racket

...
(begin (command1 arg1) 
       (command2 arg2)
       (command3 arg3))
...

功能构造?

2 个答案:

答案 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

所以开始不是一个纯粹的功能构造。