Skip to content

SRFI-216: SICP 支持

SRFI-216 提供了 SICP(计算机程序的构造和解释)所需的特性。

导入

scheme
(import (srfi srfi-216))

用途

这个库主要用于支持 SICP 课程的学习,提供了一些在 SICP 中使用的特殊形式和过程。

特性

特殊形式

  • amb - 不确定性计算
  • require - 约束条件

示例

scheme
(import (srfi srfi-216))

;; 不确定性选择
(define (an-element-of lst)
  (if (null? lst)
      (amb)
      (amb (car lst) (an-element-of (cdr lst)))))

;; 使用
(an-element-of '(1 2 3 4 5))
;; => 可能返回 1, 2, 3, 4, 或 5

与 sicp 模式

Goldfish Scheme 提供了 sicp 模式,自动导入 SICP 支持:

bash
gf -m sicp repl

更多信息

关于 SICP 的更多内容:

基于 Apache 2.0 许可发布