Newsgroup: it.comp.giochi.avventure.testuali
Titolo: [PRE-ANN] Haste

Pre-annuncio
E' con grande piacere (e anche con una punta di orgoglio) che annuncio che
la prima versione alpha di Haste è ormai in fase di rilascio.
La versione attualmente sul sito (
http://www.haste.ws
) è ancora una
pre-alpha, o proof of concept, che è servita per verificare la fattibilità
del progetto, l'interesse di un certo audience (alcuni programmatori di mia
conoscenza) l'adeguatezza di alcune strutture del linguaggio eccetera.
Con la versione che ho appena distillato sul mio hard disk entriamo nella
fase "workable" (funzionante), al di là della "prova di concetto", già
utilizzabile in ambiente di lavoro. In particolare:
- L'interfaccia agli oggetti del linguaggio è ora potente e pulita, anche se
tuttora un po' primitiva.
- La gestione della memoria è aedsso totalmente automatizzata, e non
richiede alcun supporto da parte dell'utente finale.
- L'interfaccia verso le applicazioni embedding è estremamente compatta e
facile da usare.
Entro domani rilascerò la doppia versione windows/linux con una RTL minima
in grado di:
- leggere/scrivere files
- verificare il contenuto delle directory.
- lanciare altri processi e gestirne le code di controllo (pipe)
- (probabilmente) serializzare gli oggetti.
A brevissimo anche l'interfaccia verso internet (socket) e verso i
protocolli più usati (http, ftp, smtp, pop).
--------------------------------------------------------------------------
"E a noi autori di AT?" direte voi... "cosa può interessare tutto questo?"
Ebbene, essendo amante degli AT ho avuto un occhio di riguardo per gli
ATisti. Innanzi tutto, le feature più interessanti di Inform sono presenti
anche in Haste:
- l'oggetto sender
- la possibilità di cambiare le proprietà degli oggetti al volo ( ad. es.
inserire una routine in "self.description" all'accadere di un certo evento)
- gli switch() che accettano anche stringhe
- gli oggetti senza classe
- gli attributi (has/hasnt/give), ma leggermente potenziati.
In più, le funzioni (e metodi) stateful, per la scrittura semplificata di
macchine a stati (ad es. un modo molto comodo di implementare PNG
complessi).
In meno di Inform, Haste non prevede e non prevederà una grammatica
focalizzata sulle AT; questo per un motivo che spiegherò in una seconda
mail dal titolo "Il problema delle grammatiche specializzate" (e sul quale
chiedo di riflettere/intervenire/commentare).
MOLTO in più di Inform, haste ha una completa gestione delle stringhe, degli
array e dei dizionari.
Ancora, in più di Inform, Haste è un linguaggio "vero" e "completo". A breve
(entro questo mese) metterò a disposizione degli utenti di Haste sia una
interfaccia terminale (finestre di testo) che una interfaccia grafica (per
il momento basata sulle GTK, disponibili anche per Windows), cosa che
consentirà agli autori di AT una maggiore libertà espressiva (i.e.
includere immagini in maniera più semplice/senza limitazioni di spazio, e
con supporti multimediali). 
Infine, Haste ha una grammatica semplice e lineare, intuitiva ma allo stesso
tempo estremamente potente. Mi auguro di essere riuscito nel mio intento di
scrivere una grammatica ancora più semplice e allo stesso tempo elegante di
quella del python.
(Ultimo ma non ultimo, Haste è VELOCE, rispetto agli altri linguaggi non
tipizzati).
Ovviamente, è mia intenzione rilasicare a breve una libreria di parser/world
model già pronta per l'internazionalizzazione, e quindi l'Italiano (e qui
l'aiuto di chiunque voglia partecipare è, direi, provvidenziale...)
Cordiali saluti,
Giancarlo Niccolai.

Giancarlo Niccolai.
ciao,
max "torredifuoco" bianchi
p.s. primo!