摘要
函数式语言和逻辑语言在下列意义上是互补的 ,基于归约的函数式程序设计语言具有确定和懒惰求解等性质 .但同时它又缺少诸如存在量化的变量以及部分数据结构等所希望的性质 .相反 ,基于 HORN子句逻辑和消解原理的逻辑程序设计语言允许存在量化的变量和部分数据结构但又缺少确定和懒惰求解的性质 .从这个角度出发 ,把函数和逻辑程序设计语言结合成一种范型是很自然的 ,这种结合提供了一种比逻辑和函数语言表达能力更强的合一语言 .提出了函数式逻辑语言的操作语义 。
Functional languages and logic languages complement each other in the following sense. Functional programming languages, based on reduction, have properties such as deterministic evaluation and lazy evaluation; however they lack some desirable properties such as existentially quantified variables and partial data structures. On the contrary, logic programming languages, based on Horn clause logic and resolution, allow existentially quantified variables and partial data structures but lack both deterministic evaluation and lazy evaluation. From this point of view it is natural to integrate functional and logic programming languages into one paradigm. This provides a unified language with more expressive power than both logic and functional languages. This paper presents an operational semantics of functional logic languages, and demonstrates that the operational semantics is practically visible.
出处
《软件学报》
EI
CSCD
北大核心
2001年第9期1279-1286,共8页
Journal of Software
关键词
函数式逻辑语言
操作语义
程序设计语言
Computer programming languages
Evaluation
Functions
Semantics