11 | | Tutte le SchemeExpression<Value> potrebbero avere come campo d'istanza lo scheme value associato (da istanziarsi al momento della creazione dell'espressione) anziche il valore come tipo primitivo. Attualmente gli scheme-value vengono creati solo al momento della valutazione. Se fossero creati subito il metodo prettyPrint potrebbe semplicemente riutilizzare il metodo toString insito negli scheme-valori. La soluzione e' piu' elegante anche se richiede un consumo di memoria maggiore. |
| 11 | Tutte le SchemeExpression<Value> potrebbero avere come campo d'istanza lo scheme value associato (da istanziarsi al momento della creazione dell'espressione) anziche il valore come tipo primitivo. Attualmente gli scheme-value vengono creati solo al momento della valutazione. Se fossero creati subito il metodo prettyPrint potrebbe semplicemente riutilizzare il metodo toString insito negli scheme-valori. La soluzione e' piu' elegante anche se richiede un consumo di memoria maggiore.[[BR]] |
| 12 | Nello scrivere la prettyPrint ci si accorge dell'utilita' di averne una anche per !SchemeBranch e !SchemeDefinition in quanto contenute in altre !SchemeExpression. Le soluzioni percorribili sono dunque due: la prima e' rendere !SchemeExpression sia i branch che le definition, la seconda esporre dei getter specifici che ritornano espressioni (trattasi di aggiramento). A mio parere la prima implica uno snaturamento di cio' che e' espressione quindi percorrero' la seconda strada. |