|
|
tuProlog è un interprete Prolog attualmente scritto in Java e interoperabile con esso. D'altro canto, esistono interpreti Javascript (come Rhino) scritti anch'essi in Java. Il linguaggio Scala, a sua volta, offre una cornice innovativa che unisce i paradigmi object-oriented e funzionale in un linguaggio blended, eseguibile però su JVM. Alla luce di tale scenario, scopo di questa tesi è esplorare potenzialità e conseguenze di un approccio multi-paradigma e quadri-linguaggio che consideri organicamente l'utilizzo di più linguaggi e più paradigmi per lo sviluppo di applicazioni "java rooted" ma fortemente "blended" dal punto di vista utente. Più in dettaglio, ci si propone di studiare a) analogie e differenze fra l'interfacciamento Java/tuProlog e Java/Javascript rispettivamente in tuProlog e Rhino, b) evidenziarne la possibilità di uso comune e con quali pattern d'uso, con particolare riferimento alla coesistenza di oggetti dinamici loosely typed del mondo javascript con oggetti strongly typed del mondo Java; c) di integrare in questo scenario il linguaggio Scala, sia "lato tuProlog" sia "lato Javascript"; d) di progettare e sviluppare uno o più casi d'uso significativi che "stressino" l'approccio e ne mostrino potenzialità ed eventuali limitazioni.