Changes between Version 10 and Version 11 of Variante1
- Timestamp:
- Jul 25, 2006, 6:11:14 PM (18 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Variante1
v10 v11 10 10 Si potrebbero tipizzare le liste di espressioni attualmente campi di istanza di alcune !SchemeExpression. In tal modo non avremmo necessita' di cast (generici docet). [[BR]] 11 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, SchemeBranch gia' li offre). A mio parere la prima implica uno snaturamento di cio' che e' espressione quindi percorrero' la seconda strada.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, !SchemeBranch gia' li offre). A mio parere la prima implica uno snaturamento di cio' che e' espressione quindi percorrero' la seconda strada.