累计器的计划与公开入口[#30]

@(define accumulator
   (make-program "lp-accumulator" "累计器的装配计划"
     (list state operations) '(accumulate)))
@program-tree[accumulator]

make-program保存state、operations的装配顺序,验证重复身份、重复定义、未知导出和显式依赖,不执行初始化。accumulate是公开入口,total是实例内部状态。Module tree显示计划的导出及片段链接:

module. 累计器的装配计划[lp-accumulator]

Outputs: accumulator.scm

Exports: (accumulate)

Initialization order: 片段按下列清单建立;函数体依赖可以相互引用。

计划不是一次运行。program-datums返回Scheme数据形式,program-source返回源码字符串;两者都来自计划中的同一份定义。