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.