This paper presents a language, Alda, that supports all of logic rules, sets, functions, updates, and objects as seamlessly integrated built-ins. The key idea is to support predicates in rules as set-valued variables that can be used and updated in any scope, and support queries using rules as either explicit or implicit automatic calls to an inference function. We have defined a formal semantics of the language, implemented a prototype compiler that builds on an object-oriented language that supports concurrent and distributed programming and on an efficient logic rule system, and successfully used the language and implementation on benchmarks and problems from a wide variety of application domains. We describe the compilation method and results of experimental evaluation.
翻译:本文提出一种名为Alda的语言,该语言将逻辑规则、集合、函数、更新和对象作为无缝集成的内建特性予以支持。核心思想是将规则中的谓词视为可在任意作用域使用和更新的集合值变量,并通过显式或隐式自动调用推理函数的方式,利用规则实现查询。我们为该语言定义了形式化语义,构建了基于支持并发与分布式编程的面向对象语言及高效逻辑规则系统的原型编译器,并在涵盖广泛应用领域的基准测试和实际问题中成功应用了该语言及其实现。本文阐述了编译方法及实验评估结果。