| 87 | 20060926-1355 [[BR]] |
| 88 | L'eterogeneita' dell'albero rispetto al modello (inteso come espressioni) pone |
| 89 | problemi rilevanti, apparentemente non risolvibili se non a spese dell'eleganza |
| 90 | progettuale finora perseguita. |
| 91 | La soluzione scelta e' la creazione di un supertipo di ogni entita' del modello, |
| 92 | il che si traduce nella creazione dell'interfaccia `SchemeEntity`. Si e' inoltre |
| 93 | pensato di aggiungere anche una classe astratta `SchemeEntityAbstract` che |
| 94 | permette un'implementazione di default. |
| 95 | |
| 96 | |
215 | | utilizzabile l'intero sistema sara' necesario elaborare una soluzione. |
| 234 | utilizzabile l'intero sistema sara' necessario elaborare una soluzione. |
| 235 | |
| 236 | 20060927 [[BR]] |
| 237 | Invece di mantenere traccia dei vari ambienti locali (in caso di gerarchie di |
| 238 | ambienti locali) sfruttando l'annidamento delle chiamate di `visit()`, si |
| 239 | potrebbe guadagnare in eleganza utilizzando una cara e vecchia ... pila. |
| 240 | 20060928-1736 [[BR]] |
| 241 | La profondita' della gerarchia degli ambienti e' troppo bassa da giustificare un |
| 242 | aumento della complessita' del codice. |
| 243 | |
| 244 | 20060928-1910 [[BR]] |
| 245 | L'`interpreter` portebbe essere arricchito con un metodo che, preso in input un |
| 246 | programma (inteso come lista di definizioni), faccia partire la valutazione. |
| 247 | Il che significa iterare su tale lista arricchendo l'ambiente globale per poi |
| 248 | innescare la valutazione di ogni applicazione di funzione `ExpressionApply`. |
| 249 | |
| 250 | 20060929-0830 [SoujaK] [[BR]] |
| 251 | Riguardo a `declare()` e `define()`, esse sono, in realta' parte del meccanismo |
| 252 | di valutazione, dal momento che, di fatto, si preoccupano della chiamata |
| 253 | `accept()` sull'espressione parte della definizione. Considerando inoltre che |
| 254 | l'ambiente e' parte non marginale del processo di valutazione, reputo utile lo |
| 255 | spostamento dei due metodi all'interno del ''visitor''. [NB: e' necessario |
| 256 | chiarire se l'accorpamento dei due metodi non precluda l'applicazione di qualche |
| 257 | strategia (si pensi ai doppi declare... )] |
| 258 | La proposta e'da inserire nella lista degli enhancment a bassa priorita'. |
| 259 | |