Un interprete PROLOG per browser. Prova la versione live
Sommario
Questo strumento è un interprete per il linguaggio di programmazione Prolog. Consente agli utenti di scrivere ed eseguire query su programmi Prolog, di tabulare i risultati e di tracciare i passaggi necessari per raggiungere una soluzione, tutto all'interno del browser. A differenza di altri interpreti online esistenti, questo strumento è interamente integrato nel client, il che significa che tutte le query vengono eseguite sulla macchina dell'utente. Questo strumento è basato su un port WebAssembly (WASM) di SWI-Prolog ed è progettato per fornire un'interfaccia grafica per l'uso del linguaggio.
- SWI-Prolog: Un'implementazione Prolog ampiamente utilizzata.
- WebAssembly: Un formato di istruzioni binarie per una virtual machine stack-based.
- SWI-Prolog for the browser: Un port WASM di SWI-Prolog.
- Treant-js Una libreria per disegnare grafi.
- panzoom library Per navigare nel grafico ad albero.
- html-to-image Per scaricare l'albero come immagine o SVG.
- Modifica e interrogazione in tempo reale di programmi Prolog.
- Gli editor di codice hanno tutte le scorciatoie standard,
ctrl-z
/y
,ctrl-c
/x
/v
...Invio
esegue le query. - Il codice e le query sono persistenti attraverso i caricamenti della pagina. È disponibile anche un insieme di esempi.
- Tabulazione automatica dei risultati, con indicazione se ci sono altri risultati disponibili.
- Tracciamento automatico dei passaggi necessari per raggiungere ogni soluzione.
- Visualizza i passaggi sotto forma di albero grafico.
- Possibilità di ingrandire e rimpicciolire l'albero.
- Filtrare i nodi dell'albero in base al valore dello scope.
- Scarica l'albero come PNG o SVG.
- Implementare query Prolog multi-threaded.
Basta aprire l'editor nel browser, scrivere il programma Prolog, scrivere la query e premere Invio
.
Sono forniti alcuni esempi per testare sia la funzionalità che i limiti del tool.
Gli utenti possono selezionare il numero di soluzioni da calcolare e interrompere il processo se necessario.
Per una maggiore leggibilità e lettura più sintetica dell'albero gli utenti possono selezionare uno scope di riferimento per trascurare i nodi sopra una certa soglia.
È persino possibile scaricare la rappresentazione grafica dell'albero visualizzato in formato svg o png.
Per avere una versione privata, è necessaria solo la cartella www/ per far funzionare l'editor. Nella repository è incluso un semplice File Server in Java, ma non è necessario. Qualsiasi altro server può essere utilizzato; ad esempio la live version utilizza Github Pages senza alcuna configurazione aggiuntiva.
Se si desidera ricompilare SWI-Prolog per il browser, si prega di leggere la Wiki.
Sebbene l'interfaccia grafica dello strumento sia funzionale, lo sviluppo è stato in gran parte indipendente da reali progetti di Prolog. Si apprezzerebbero i feedback degli utenti esperti di Prolog per migliorare la funzionalità e l'usabilità dello strumento, soprattutto per quanto riguarda gli usi convenzionali di Prolog. Questo editor non è pensato per competere con SWISH, e non offre nemmeno una frazione delle sue funzioni. Tuttavia, la facilità d'uso dello strumento e l'esecuzione locale in tempo reale delle query potrebbero fornire un'alternativa comoda per alcuni utenti che trovano SWISH complicato.
Riconosciamo il merito delle seguenti persone.
- Molte grazie agli sviluppatori responsabili dello sviluppo di Prolog nel browser, e per aver risolto i numerosi problemi che ne derivano.
Stato del progetto: in corso.