[zxspectrum] Re: SpecLisp vs Campus LIsP

  • From: Stefano Bodrato <stefano_bodrato@xxxxxxxxxxx>
  • To: "zxspectrum@xxxxxxxxxxxxx" <zxspectrum@xxxxxxxxxxxxx>
  • Date: Thu, 30 Apr 2015 17:04:27 +0200


Sei un mostro. Per me sarebbe assolutamente impossibile mettere le mani,
ma anche solo gli occhi, in quel codice macchina... :-(

Lo sarebbe stato anche per me, se non avessi lavorato da poco su un progetto
molto simile scritto in C. Non ho problemi a spedirlo, se a qualcuno
intieressa..

Dopo aver approfondito, confermo praticamente tutto quanto ho scritto (a parte
il fatto che non sono sicuro di aver usato il termine "atomo" propriamente..
per gli esperti di LISP: mi riferivo a mezza "cons".

SpecLisp sembra contenere un BUG abbastanza serio, che ho dovuto contenere
anche sul Campus LIsP nella versione zx81:
http://www.sinclairzxworld.com/viewtopic.php?f=6&t=1621
http://sinclairzxworld.com/viewtopic.php?f=11&t=1630

.. ovvero nessuna protezione contro l'overflow della stack dello z80, che
purtroppo si allarga moltissimo.
Questo significa che una volta su 6, una volta riempita la memoria, lo SpecLisp
va in crash perchè sporca lo schermo e le variabili di sistema. Mi chiedo
come possano averlo venduto in questo stato..
La stessa software house all'epoca aveva prodotto una versione del proprio
linguaggio per il Grundy NewBrain (il manuale del dialetto corretto è
scaricabile online)... forse in questa prima versione il difetto non era
presente, mi piacerebbe metterci una pezza e renderlo stabile dopo così tanti
anni !!
Nel manuale vengono svelati alcuni trucchetti molto interessanti, ad esempio
come aggiungere funzioni scritte in L/M. Inoltre l'implementazione è davvero
pensata per essere performante, ho provato a calcolare una radice quadrata male
ottimizzata (ricerca ricorsiva per tutti i valori possibili), e si spazzola
30000 cicli in un attimo !


Other related posts: