强曰为道
与天地相似,故不违。知周乎万物,而道济天下,故不过。旁行而不流,乐天知命,故不忧.
文档目录

Guile/Scheme 编程教程

Guile/Scheme 编程教程

Guile(GNU Ubiquitous Intelligent Language for Extensions)是 GNU 项目官方的扩展语言平台,基于 Scheme 语言标准(R5RS/R6RS/R7RS)。它既可作为独立编程语言使用,也可嵌入 C/C++ 程序中提供脚本扩展能力。

适用读者

读者类型预期收获
函数式编程初学者掌握 Lisp/Scheme 家族语言的核心思想
GNU/Linux 开发者学会使用 Guile 扩展和定制 GNU 工具
Emacs 用户深入理解 Emacs Lisp 与 Guile Scheme 的异同
嵌入式脚本开发者将 Guile 嵌入自己的 C/C++ 应用
Guix 用户编写 Guix 系统配置和包定义

前置知识

  • 基本的命令行操作能力
  • 对编程概念(变量、函数、循环)有初步了解
  • 无需 Lisp/Scheme 背景,教程从零开始

教程结构

本教程共 12 章,由浅入深覆盖 Guile/Scheme 编程的完整知识体系:

章节标题核心内容
第 1 章Guile 概述Scheme 标准、GNU 扩展、与 Common Lisp 对比、适用场景
第 2 章安装与环境搭建各平台安装、Guix 系统、Emacs 集成、REPL 使用
第 3 章基本语法S-表达式、求值规则、注释、数据类型、数字与字符串
第 4 章列表与序对cons/car/cdr、列表操作、递归、点对结构
第 5 章函数与闭包lambda、闭包、高阶函数、apply/map、命名 let
第 6 章控制流条件表达式、let 绑定、do 循环、尾调用优化
第 7 章宏系统syntax-rules、define-syntax、卫生宏、自定义宏
第 8 章数据结构记录类型、向量、哈希表、集合、队列
第 9 章模块系统define-module、use-modules、导出导入、公共接口
第 10 章输入输出文件操作、端口、格式化输出、字符串端口、序列化
第 11 章C 扩展与 FFI外部函数接口、动态加载、嵌入 Guile、性能优化
第 12 章最佳实践编程风格、性能优化、调试技巧、Guix 系统配置

学习路径建议

入门路径: 第1章 → 第2章 → 第3章 → 第4章 → 第5章 → 第6章
进阶路径: 第7章 → 第8章 → 第9章 → 第10章
实战路径: 第11章 → 第12章

代码约定

本教程中所有代码示例均可在 Guile 3.0+ REPL 中直接运行。代码块使用以下格式:

;; 这是可直接运行的 Guile 代码
(display "Hello, Guile!")
(newline)

注意:类似这样的提示框用于标注易错点、版本差异或重要概念。

扩展阅读:类似这样的提示框推荐进一步学习的资源。

参考资源