An overview of the normalizations the Common Lisp representer applies to solutions
The representer uses read to read the submission and write to write the representation, as well as applying some additional normalizations.
Each submission has the following normalizations applied to it:
Because read is used to load the submission, comments are removed.
Instead of normalizing any names which may be present in the documentation string the string is removed. However the representation will note if a documentation string was present or not.
Because read is used to load the submission, all symbols are normalized to uppercase.
The representation is written with write so any particulars of the submissions formatting (such as indentation, spacing, leaving closing parenthesis on empty lines) are not retained in the representation.
Symbols such as function, variable and macro names as well packages are mapped to gensyms which are used in the representation.