Overlapping rules and logic variables in functional logic programs

被引:35
|
作者
Antoy, Sergio
Hanus, Michael
机构
[1] Portland State Univ, Dept Comp Sci, Portland, OR 97207 USA
[2] CAU Kiel, Inst Informat, D-24098 Kiel, Germany
来源
关键词
D O I
10.1007/11799573_9
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Functional logic languages extend purely functional languages with two features: operations defined by overlapping rules and logic variables in both defining rules and expressions to evaluate. In this paper, we show that only one of these features is sufficient in a core language. On the one hand, overlapping rules can be eliminated by introducing logic variables in rules. On the other hand, logic variables can be eliminated by introducing operations defined by overlapping rules. The proposed transformations between different classes of programs not only give a better understanding of the features of functional logic programs but also may simplify implementations of functional logic languages.
引用
收藏
页码:87 / 101
页数:15
相关论文
共 50 条