Although object-oriented languages are nowadays the mainstream for application development, several research contexts suggest that a multi-paradigm approach is worth pursuing. In particular, a declarative, logic-based paradigm could fruitfully add functionalities related to intelligence, adaptivity, and conciseness in expressing algorithms. In this paper we present a framework for enhancing interoperability between Java and Prolog, based on the tuProlog open-source Prolog engine for Java. Smoother language-interoperability is achieved through two stacked layers: (i) an API layer for automated mapping of Java types into Prolog types (and viceversa) and seamless exploitation of the Generic Collections Framework; and (ii) an annotation layer, that aims at truly extending Java programming with the ability of specifying Prolog-based declarative implementations of Java methods, relying on Java annotations.
Integrating Java and Prolog using Java 5.0 generics and annotations / Maurizio Cimadamore; Mirko Viroli. - ELETTRONICO. - (2007), pp. 1-21. (Intervento presentato al convegno Multiparadigm Programming with Object-Oriented Languages tenutosi a Berlino, Germania nel 21/7/2007).
Integrating Java and Prolog using Java 5.0 generics and annotations
CIMADAMORE, MAURIZIO;VIROLI, MIRKO
2007
Abstract
Although object-oriented languages are nowadays the mainstream for application development, several research contexts suggest that a multi-paradigm approach is worth pursuing. In particular, a declarative, logic-based paradigm could fruitfully add functionalities related to intelligence, adaptivity, and conciseness in expressing algorithms. In this paper we present a framework for enhancing interoperability between Java and Prolog, based on the tuProlog open-source Prolog engine for Java. Smoother language-interoperability is achieved through two stacked layers: (i) an API layer for automated mapping of Java types into Prolog types (and viceversa) and seamless exploitation of the Generic Collections Framework; and (ii) an annotation layer, that aims at truly extending Java programming with the ability of specifying Prolog-based declarative implementations of Java methods, relying on Java annotations.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.