Нормалізації репрезентера Common Lisp

Огляд нормалізацій, які репрезентер Common Lisp застосовує до рішень


Для читання рішення representer використовує read, а для запису representation - write; крім того, застосовуються деякі додаткові нормалізації. До кожного рішення застосовуються такі нормалізації:

Видалення коментарів

Оскільки для завантаження рішення використовується read, коментарі видаляються.

Видалення рядків документації

Замість нормалізації назв, які можуть бути в рядку документації, сам рядок видаляється. Однак representation позначає наявність або відсутність рядка документації.

Нормалізація регістру тексту

Оскільки для завантаження рішення використовується read, усі символи нормалізуються до верхнього регістру.

Нормалізація форматування тексту

Representation записується за допомогою write, тому будь-які особливості форматування рішення (як-от відступи, пробіли, залишені на порожніх рядках закривні дужки) не зберігаються в representation.

Нормалізація назв символів

Такі символи, як назви функцій, змінних і макросів, а також пакети, відображаються на gensyms, які використовуються в representation.