A Prolog-oriented extension of Java programming based on generics and annotations

Maurizio Cimadamore, Mirko Viroli
{"title":"A Prolog-oriented extension of Java programming based on generics and annotations","authors":"Maurizio Cimadamore, Mirko Viroli","doi":"10.1145/1294325.1294352","DOIUrl":null,"url":null,"abstract":"Although object-oriented languages are nowadays the mainstream of 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 automatic reasoning, adaptivity, and conciseness in expressing algorithms. In this paper we present P@J, a framework for enhancing interoperability between Java and Prolog based on the tuProlog open-source Prolog engine for Java. P@J supports smooth language-interoperability by first introducing an API for modeling first-order logic terms by Java generics and wildcards, promoting expressiveness and safety. On top of it, an annotation layer is then introduced that extends Java with the ability of implementing parts of the application code using Prolog.","PeriodicalId":169989,"journal":{"name":"Principles and Practice of Programming in Java","volume":"108 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2007-09-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"13","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Principles and Practice of Programming in Java","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/1294325.1294352","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 13

Abstract

Although object-oriented languages are nowadays the mainstream of 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 automatic reasoning, adaptivity, and conciseness in expressing algorithms. In this paper we present P@J, a framework for enhancing interoperability between Java and Prolog based on the tuProlog open-source Prolog engine for Java. P@J supports smooth language-interoperability by first introducing an API for modeling first-order logic terms by Java generics and wildcards, promoting expressiveness and safety. On top of it, an annotation layer is then introduced that extends Java with the ability of implementing parts of the application code using Prolog.
基于泛型和注释的面向prolog的Java编程扩展
尽管面向对象语言是当今应用程序开发的主流,但一些研究背景表明,多范式方法值得追求。特别是,声明性的、基于逻辑的范式可以有效地添加与自动推理、适应性和表达算法的简洁性相关的功能。在本文中,我们提出了P@J,一个基于tuProlog开源Java Prolog引擎的框架,用于增强Java和Prolog之间的互操作性。P@J首先引入了一个API,通过Java泛型和通配符对一阶逻辑术语进行建模,从而提高了表达性和安全性,从而支持流畅的语言互操作性。在此基础上,引入了一个注释层,该注释层扩展了Java,使其能够使用Prolog实现部分应用程序代码。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信