Tri-dimensional Multi-paradigm Programming in tuProlog


XWiki.EnricoDenti|XWiki.RobertaCalegari

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.

Journals & Series

Publications

Publications / Views

Home

Clouds
•  tags  •  authors  •  editors  •  journals  

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

Sort
•  in journal  •  in proc  •  chapters  •  books  •  edited  •  spec issues  •  editorials  •  entries  •  manuals  •  tech reps  •  phd th  •  others  

Status
•  online  •  in press  •  proof  •  camera-ready  •  revised  •  accepted  •  revision  •  submitted  •  draft  •  note  

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

Publication

— authors

XWiki.EnricoDenti|XWiki.RobertaCalegari

— status

rejected

— sort

article in journal

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