Changes between Version 12 and Version 13 of Variante1
- Timestamp:
- Jul 26, 2006, 5:10:08 PM (18 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Variante1
v12 v13 10 10 Nota minore:Si potrebbero tipizzare le liste di espressioni attualmente campi di istanza di alcune !SchemeExpression (e.g. !SchemeExpressionAnd). 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 leggermente maggiore. (<-la proposta e' stata implementata)[[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'esigenza di poter stampare !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. 13 13 14 14 20060726-1652 [[BR]]