Common Lisp representer 的规范化

概述 Common Lisp representer 对解答所做的规范化


Representer 使用 read 读取提交内容,用 write 写出表示,此外还会应用一些额外的规范化。 每份提交都会应用以下规范化:

移除注释

由于加载提交内容时使用了 read,注释会被移除。

移除文档字符串

文档字符串中可能出现的名称不做规范化,而是直接移除整个字符串。 不过,表示中会记录文档字符串是否存在。

规范化文本大小写

由于加载提交内容时使用了 read,所有符号都会被规范化为大写。

规范化文本格式

表示是用 write 写出的,因此提交内容在格式上的任何细节(比如缩进、空格,或把右括号留在空行上)都不会保留在表示中。

规范化符号名称

函数名、变量名、宏名等符号以及包,都会被映射到 gensyms,表示中使用的便是它们。