伊兰
ELAN系统提供了一个基于策略控制规则的语言来指定和原型化演绎系统的环境。它的目的是支持定理证明器、逻辑编程语言、约束求解器和决策过程的设计,并为研究它们的组合提供一个模块化的框架。它的目的是支持定理证明器、逻辑编程语言、约束求解器和决策过程的设计,并为研究它们的组合提供一个模块化的框架。ELAN借鉴了函数编程中抽象数据类型的概念和基于重写的函数求值原理。但是重写本质上是不确定的,因为在同一术语中,多个规则可以应用于不同的位置,并且在ELAN中,一个计算可能有多个结果。通过选择操作和回溯功能来考虑这一方面。该语言的主要创新之一是提供策略构造函数来指定一个函数调用是返回多个、至少一个还是仅返回一个结果。这种对非确定性的声明性处理是策略语言的一部分,允许程序员在规则应用程序上指定控件。这与许多现有的基于重写的语言不同,在这些语言中,术语缩减策略是硬连接的,应用程序的设计者无法访问。策略语言为基本策略的顺序组合、迭代、确定性和非确定性选择提供原语,这些策略被标记为规则。从这些原语中,可以表达出更复杂的策略。此外,用户可以引入新的策略运算符,并通过重写规则来定义它们。策略应用的评估本身就是基于重写。因此,简单而广为人知的重写范式既提供了演绎系统表达和组合的逻辑框架,又提供了语言的评价机制。这些网页的目的是总结ELAN的特点,图书馆和环境,并提供一个有关该语言的文献指南。
此软件的关键字