Valori, non tipi
Una variabile puo' essere valore, array o insieme senza dichiarazioni preventive: a[3]["ciao"] = "7". Quel "7" e' insieme testo e numero: sara' l'operazione a decidere come usarlo.
EWB 2026
Valori liberi, memoria persistente condivisa, esecuzioni programmate e sezioni di pagina autonome. La complessita' resta nel motore, dove possiamo sorvegliarla mentre meditiamo piani piu' ambiziosi.
a[3]["ciao"] = "7" "7" + "3" -> "10" "7" concat "3" -> "73" "aaa" + "3" -> eccezione Il dato non protesta. L'operatore, giustamente, si'.
Una variabile puo' essere valore, array o insieme senza dichiarazioni preventive: a[3]["ciao"] = "7". Quel "7" e' insieme testo e numero: sara' l'operazione a decidere come usarlo.
Gli operatori interpretano i due valori: "7" + "3" produce "10", mentre "aaa" + "3" solleva un'eccezione. Il dato resta libero; finalmente e' l'operatore ad assumersi le proprie responsabilita'.
Un dataset e' memoria stabile e condivisa tra le sezioni del programma. Se il supporto non esiste viene creato automaticamente; istruzioni esplicite salvano e rileggono valori semplici, record o superstringhe strutturate.
lock e unlock racchiudono modifiche atomiche anche su piu' dataset. Sotto possono esserci transazioni SQL, commit e rollback; sopra rimane soltanto il contratto EWB. Il timeout con rollback ed eccezione e' previsto.
Un task registra un punto di accesso, lo stack completo e una pianificazione in stile cron. A ogni scadenza riparte dalla fotografia salvata; se sta gia' girando non viene duplicato. revoke elimina l'automatismo.
Un thread e' un div aggiornabile a intervalli o su richiesta. La VM riceve punto di lancio, stack e parametri; il risultato riempie quella sezione della pagina. Non e' un thread di sistema: era troppo banale.
Lo stack EWB descrive gli strumenti che sostengono il linguaggio. L'articolo AI() nel sorgente racconta invece perche' una richiesta all'assistente e' diventata un'istruzione formale.