Normalizações do representer de Common Lisp

Uma visão geral das normalizações que o representer de Common Lisp aplica às soluções


O representer usa read para ler a submissão e write para escrever a representação, além de aplicar algumas normalizações adicionais. A cada submissão são aplicadas as seguintes normalizações:

Remover comentários

Como read é usado para carregar a submissão, os comentários são removidos.

Remover strings de documentação

Em vez de normalizar os eventuais nomes presentes na string de documentação, a string é removida. No entanto, a representação regista se existia ou não uma string de documentação.

Normalizar o uso de maiúsculas e minúsculas

Como read é usado para carregar a submissão, todos os símbolos são normalizados para maiúsculas.

Normalizar a formatação do texto

A representação é escrita com write, por isso quaisquer particularidades da formatação da submissão (como a indentação, o espaçamento ou deixar o parêntese de fecho em linhas vazias) não são preservadas na representação.

Normalizar os nomes dos símbolos

Símbolos como nomes de funções, variáveis e macros, bem como de pacotes, são mapeados para gensyms, que são usados na representação.