squares.scm的文本输出与独立结果[#42]

程序入口加入输入与输出。组合采用精确的文本拼接,片段自己的换行和缩进不会被重新格式化。

code. 源码文本:平方列表的独立入口[lp-program]

Uses: 源码文本:包含 square 的 squares 定义

; 单个数的平方
(define (square x)
  (* x x))

(define (squares xs)
  (map square xs))

(write (squares '(1 2 3 4)))
(newline)

program-code在内容IR中声明squares.scm输出,lp-artifacts renderer从该结构生成文件;平方列表入口和代码框显示同一文本:

; 单个数的平方
(define (square x)
  (* x x))

(define (squares xs)
  (map square xs))

(write (squares '(1 2 3 4)))
(newline)

构建产物是build/programs/squares.scm,可以独立运行:

guile --no-auto-compile build/programs/squares.scm

输出应为(1 4 9 16)。导出不等于执行:站点构建只生成文件,执行检查在构建之外完成。