Tri-dimensional Multi-paradigm Programming in tuProlog


tuProlog is a multi-paradigm & multi-platform Prolog system explicitly designed to promote the seamless integration between the logic/declarative and the object-oriented imperative paradigms, enabling Prolog to inter-operate with Java (and other languages) easily and naturally. The recent inclusion of key functional programming concepts and constructs in Java 8 opens the way to adding one further dimension to tuProlog’s multi-paradigm approach, enabling Prolog to manipulate and execute Java 8 lambdas (and related constructs) natively. Therefore, in this paper we discuss how such an integration can be obtained both conceptually and architecturally, moving from the key requirements down to the implementation. To this end, after recalling the tuProlog multi-paradigm framework and the basics of the Java 8 constructs, we first discuss a general technique that exploits the built-in Java compiler via the combined use of a dynamic proxy and a dynamic class generator, and then show its practical application to the tuProlog case. The new Java/tuProlog library, built on top of this technology, is then presented, from syntax to practical programming examples. The impact on tuProlog.NET is also briefly discussed, as well as the next expected steps.

Riviste & collane


Pubblicazioni / Viste


•  tag  •  autori  •  curatori  •  riviste  

 2023    2022    2021    2020    2019    2018    2017    2016    2015    2014–1927

•  su rivista  •  in atti  •  capitoli  •  libri  •  curatele  •  speciali  •  editoriali  •  voci  •  manuali  •  rapporti  •  tesi phd  •  altre  

•  online  •  in stampa  •  bozza stampa  •  camera-ready  •  revisionato  •  accettato  •  in revisione  •  sottoposto  •  bozza  •  nota  

•  ACM Digital Library  •  DBLP  •  IEEE Xplore  •  IRIS  •  PubMed  •  Google Scholar  •  Scopus  •  Semantic Scholar  •  Web of Science  •  DOI  


— autori/autrici


— stato


— tipo

articolo su rivista

Partita IVA: 01131710376 — Copyright © 2008–2023 APICe@DISI – PRIVACY