| | 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 | |