Il Progetto

Un sogno nel cassetto,
diventato linguaggio.

Da Zork e Inform 7 a un'idea radicale: e se l'italiano, invece di commentare il codice, fosse il codice?

FAVELLA 1 nasce da una duplice passione: quella per la narrativa interattiva — sulla scia di capolavori come Zork e le avventure testuali di Infocom — e quella per i linguaggi di programmazione. Per anni il punto di riferimento del settore è stato Inform 7: potente, ma legato all'inglese e a una sintassi che intimorisce chi non è programmatore. L'idea di un'alternativa italiana, intuitiva e moderna, è rimasta a lungo un sogno nel cassetto.

L'intuizione che muove FAVELLA è radicale nella sua semplicità: e se l'italiano non fosse usato per commentare il codice, ma fosse il codice stesso? In FAVELLA non esistono parentesi graffe da bilanciare né punti e virgola da ricordare. Si scrive «La porta di ferro è chiusa.» e quella frase, così com'è, diventa una regola del mondo. La promessa di copertina del progetto è proprio questa: il tuo codice è una storia.

«E se l'italiano non fosse usato per commentare il codice, ma fosse il codice stesso?»

Con l'avvento dei Large Language Models quel sogno è diventato un progetto concreto. FAVELLA 1 non è stato scritto in solitudine, ma in un dialogo costante con un'intelligenza artificiale: non un semplice strumento, ma un partner di sviluppo con cui definire le specifiche, esplorare il design della grammatica, generare codice e fare refactoring. Un approccio ibrido che lascia all'autore umano la visione e le decisioni, e accelera tutto il resto.

Sotto la prosa c'è ingegneria vera. Il primo motore a espressioni regolari è stato sostituito da un compilatore a due passate con un parser formale LALR(1) (Lark/EBNF), reso non ambiguo per costruzione: i nomi di stanze e oggetti diventano token "chiusi" raccolti da una symbol-table, così l'italiano resta naturale ma la grammatica resta deterministica. Da lì il linguaggio è cresciuto per livelli — logica composita, stato di gioco, estendibilità, espressività narrativa, NPC e dialoghi, maturità della toolchain, capacità di trasporto, reattività dei "demoni" — fino a un mondo che si comporta da vivo: buio e luce, personaggi che camminano, pronomi, descrizioni che variano, il caso e le quantità, gli stati che si parlano. Ogni passo è protetto da una suite oggi a 681 test, più 43 di collaudo.

Con la versione 1.0.0 il linguaggio si dichiara completo e definitivo: chiuso, non per stanchezza, ma perché ogni costrutto ha trovato il suo posto. Ha il suo manuale — un «Manuale di Programmazione» tipografico di 84 pagine che racconta ogni costrutto con una storia d'esempio dall'inizio alla fine — e tutto un ecosistema intorno: un installer per Windows, macOS e Linux con la riga di comando «favella1», un playground che funziona offline, il pacchetto «pip install favella1», una libreria di moduli da includere e una galleria di avventure giocabili. La casa ufficiale del progetto è favella.eu; il codice è su GitHub, pubblico e aperto, e chiunque voglia dare una mano, o addirittura prendere in carico il progetto, è il benvenuto.

Sotto la prosa

Ingegneria vera

parser

LALR(1) non ambiguo

Grammatica formale Lark/EBNF, deterministica per costruzione.

compilatore

Due passate

L'ordine delle frasi non conta: il mondo si risolve a fine compilazione.

symbol-table

Token «chiusi»

Stanze e oggetti diventano simboli: l'italiano resta naturale.

qualità

681 + 43 test

Una rete di sicurezza che cresce a ogni costrutto del linguaggio.

Un progetto di Simone Pizzi · scritto in dialogo con l'IA · favella.eu

Privacy in breve: questo sito non usa cookie di profilazione e non ti traccia. I font sono ospitati da noi (nessuna chiamata a Google) e nessun dato viene condiviso a fini di marketing. Dettagli nella Privacy e nella informativa sui cookie.