Common Lisp representer normalizations

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:

Remove comments

Because read is used to load the submission, comments are removed.

Remove documentation strings

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.

Normalize text case

Because read is used to load the submission, all symbols are normalized to uppercase.

Normalize text formatting

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.

Normalize symbol names

Symbols such as function, variable and macro names as well packages are mapped to gensyms which are used in the representation.