Normalizzazioni del representer di Common Lisp

Una panoramica delle normalizzazioni che il representer di Common Lisp applica alle soluzioni


Il representer usa read per leggere la soluzione inviata e write per scrivere la rappresentazione, oltre ad applicare alcune normalizzazioni aggiuntive. A ogni soluzione inviata vengono applicate le seguenti normalizzazioni:

Rimuovere i commenti

Poiché si usa read per caricare la soluzione inviata, i commenti vengono rimossi.

Rimuovere le stringhe di documentazione

Invece di normalizzare eventuali nomi presenti nella stringa di documentazione, la stringa viene rimossa. Tuttavia la rappresentazione indicherà se era presente o meno una stringa di documentazione.

Normalizzare le maiuscole e le minuscole

Poiché si usa read per caricare la soluzione inviata, tutti i simboli vengono normalizzati in maiuscolo.

Normalizzare la formattazione del testo

La rappresentazione viene scritta con write, quindi nessuna particolarità della formattazione della soluzione inviata (come l'indentazione, la spaziatura, il lasciare la parentesi di chiusura su righe vuote) viene conservata nella rappresentazione.

Normalizzare i nomi dei simboli

I simboli, come i nomi di funzioni, variabili e macro, così come i package, vengono mappati su gensyms, che vengono usati nella rappresentazione.