《基于 FSet 的现代 Common Lisp》1.0 版发布,涵盖多方面使用指南
下一篇[介绍与必要的宣传](Introduction-and-Obligatory-Hype.html) [目录][[索引](Index.html 索引)]文档版本及许可信息本文档版本为 1.0适用于 FSet v2.4.2© 2026 Scott L. Burson 所有。它遵循 [知识共享署名 - 非商业性使用 - 相同方式共享 4.0 国际许可协议CC BY - NC - SA 4.0](https://creativecommons.org/licenses/by - nc - sa/4.0/) 发布。该许可允许使用者仅出于非商业目的以任何媒介或格式分发、重新混合、改编和基于本文档内容进行创作但前提是必须向原作者提供适当的署名。若对内容进行了重新混合、改编或基于其创作必须以相同的许可协议发布修改后的材料。文本来源说明需强调的是本文档未包含任何大语言模型生成的文本零使用完全没有。若发现错误或有其他建议可在 [Common - Lisp.Net 的 GitLab 实例](https://gitlab.common - lisp.net/fset/fset/-/work_items) 或 [GitHub](https://github.com/slburson/fset/issues) 上提交问题。目录介绍与必要的宣传我为何编写 FSet函数式集合的优势1 入门指南1.1 FSet 教程1.1.1 FSet 主要类型1.1.1.1 集合教程1.1.1.2 映射教程1.1.1.3 序列教程1.1.1.4 多重集合教程1.1.2 嵌套集合1.1.3 赋值与更新1.2 使用 FSet1.2.1 导入 FSet 符号1.2.2 其他扩展1.3 Emacs 自定义设置2 示例2.1 直方图构建2.2 图遍历2.3 案例研究CL - Cont3 概念背景3.1 什么是函数式数据类型3.2 Lisp 是函数式语言吗3.3 大 O 表示法简介3.4 Common Lisp 对象系统4 FSet 的设计4.1 与 Common Lisp 的差异4.2 比较与相等性4.2.1 抽象与具体相等性4.3 序列与字符串4.4 宏4.5 准可变操作符4.6 映射与序列默认值5 FSet 数据结构5.1 权重平衡树5.2 CHAMP 树5.2.1 关于 HAMT 和时间复杂度的说明5.3 比较与哈希函数5.3.1 哪些元素会被比较或哈希5.4 通用函数 compare5.4.1 跨类型比较5.5 通用函数 hash-value5.6 用户定义的类5.6.1 值类型5.6.2 引用类型5.6.3 左优先规则5.7 自定义比较与哈希函数5.7.1 严格弱序5.7.2 非 FSet 集合5.8 选择数据结构5.9 瞬态对象5.10 动态元组6 FSet API 参考6.1 时间复杂度说明6.2 集合6.2.1 集合操作6.2.2 CH - 集合操作6.2.3 瞬态 CH - 集合操作6.2.4 WB - 集合操作6.2.5 补集6.3 映射6.3.1 映射操作6.3.2 CH - 映射操作6.3.3 瞬态 CH - 映射操作6.3.4 WB - 映射操作6.4 多重集合6.4.1 多重集合操作6.4.2 CH - 多重集合操作6.4.3 瞬态 CH - 多重集合操作6.4.4 WB - 多重集合操作6.5 序列6.5.1 序列操作6.6 重放集合与映射6.6.1 重放集合6.6.1.1 重放集合操作6.6.1.2 CH - 重放集合操作6.6.1.3 瞬态 CH - 重放集合操作6.6.2 重放映射6.6.2.1 重放映射操作6.6.2.2 CH - 重放映射操作6.6.2.3 瞬态 CH - 重放映射操作6.7 二元关系6.7.1 二元关系操作6.7.2 CH - 二元关系操作6.7.2.1 瞬态 CH - 二元关系操作6.7.3 WB - 二元关系操作6.8 元组6.9 杂项函数6.10 CL 类型操作6.11 错误类型6.12 前沿特性6.12.1 列表关系与查询注册表6.12.2 区间集合6.12.3 有界集合7 遍历 FSet 集合7.1 过程式迭代宏7.2 有状态迭代器7.3 函数式迭代器7.4 at-index 操作7.5 GMap7.5.1 GMap 基本参数类型7.5.2 GMap 基本结果类型7.5.3 GMap FSet 参数类型7.5.4 GMap FSet 结果类型7.6 Iterate8 通用函数 convert9 打印与读取9.1 读取宏9.2 JSON 打印与解析9.2.1 JSON 解析9.2.2 JSON 打印9.3 编译器外部化10 给语言设计者的建议10.1 FSet 的特性10.2 FSet 的不足10.3 函数式集合的历史10.4 对其他库的评价10.4.1 Clojure10.4.2 Scheme (R6RS)10.4.3 Racket10.4.4 Haskell10.4.5 Scala10.4.6 Google Guava10.4.7 Python后记索引下一篇[介绍与必要的宣传](Introduction-and-Obligatory-Hype.html) [目录][[索引](Index.html 索引)]