Logtalk(逻辑编程语言) V3.00.4 官方版下载

Logtalk是一款功能强大、简便实用的面向对象的逻辑编程语言,基于分类组成的编程,具有事件驱动程序、多层次多线程编程、组件编程等功能,为用户进行逻辑编程带来了新的方法。

Logtalk

【功能特点】

接口与实现的分离

谓词指令(声明)可以包含在协议(接口)中,它可以由任何对象实现。协议是一流的实体,旁边的对象和类别。

参数对象

对象标识符可以是包含可用于参数化对象谓词的自由变量的复合项。这允许我们将谓词子句解释为分享参数对象标识符的实例化。即,知识兔使用参数对象,我们可以将任意数量的谓词与复合词相关联。

支持基于类和基于原型的系统

在同一个应用程序中,可能有基于类的层次结构(具有实例化和专门化关系)和基于原型的层次结构(具有扩展关系)。此外,诸如协议(接口)和类别(组件)等基本语言特征可以由类、实例和原型同时使用。

支持多个对象层次结构

不必局限于一个单一的、长的层次结构,它植根于一些通用对象中。

私有、受保护和公共继承

logtalk支持私人,保护,并在某种程度上类似于C++的公共遗产。此外,任何实体关系都可以使用范围关键字来限定。例如,对象可以私下实现协议,知识兔从而使所有协议声明的谓词都是私有的。

私有、受保护和公共对象谓词

设置对象谓词的范围以匹配协议设计,并让运行时系统强制执行您的选择。

静态和动态对象

对象可以是静态的,知识兔也可以是动态的。静态对象在源文件中定义,这些源文件以Prolog文件相同的方式编译和加载。动态对象可以在源文件中定义,知识兔也可以在运行时创建。

静态和动态对象谓词

任何静态对象都可以包含静态谓词和动态谓词。

LogTalk语法扩展标准Prolog语法

LogTalk使用标准的Prolog语法,并添加了一些操作符和指令来实现平滑的学习曲线。Prolog代码可以很容易地封装在对象内,很少或没有变化。此外,LogTalk可以透明地解释大多数Prolog模块作为Logice对象,知识兔以方便重用现有代码(例如库)。

Logtalk

λ表达式

本地支持lambda表达式,知识兔包括咖喱。

事件驱动程序设计

谓词可以在调用事件发生时隐式调用,允许最小化对象耦合的编程解决方案。此外,事件为行为反射分享支持,并且知识兔可以用于实现面向方面编程中的切入点和建议的概念。

基于构件的程序设计

谓词可以封装在类别内,知识兔可以由任何对象实际导入,而不需要任何代码复制,而不考虑对象层次结构。因此,对象可以通过类别的组合来定义,这些类别作为细粒度的代码重用单元。类别也可以扩展现有的类别。类别可以用来实现方面和混合行为,而不需要继承。类别还支持运行代码的热修补。

多线程编程

在与选定的后端Prolog编译器运行LogTalk时,知识兔可以使用高级别多线程编程,允许对象同时支持同步消息和异步消息。螺纹发动机,独立和并行,知识兔以及竞争性或并行性也得到支持。轻松地利用现代多处理器和多核计算机,而不必担心创建和销毁线程的细节,实现线程通信,或同步线程。

多继承多实例支持

LogTalk支持协议和实现的多重继承。对象可以实现多个协议,并扩展、专门化或实例化多个对象。多继承冲突可以通过LogTalk查找算法或显式地使用谓词指令来隐式解决。

良好性能

使用与编写高效PROLO代码相同的技术编译LogTalk代码。此外,LogTalk支持静态绑定和动态绑定(使用方法查找缓存),大大提高了性能。一些Prolog编译器的基准测试结果在此可用。

与Prolog标准紧密结合

LogTalk设计用于与任何Prolog语言一致或紧密遵循官方和事实Prolog标准的平滑集成。

兼容大多数Prolog编译器

通过一个最小的配置文件与特定的后端Prolog编译器进行对话,使之与几乎任何现代编译器兼容。

全面开发工具集

LogTalk分布包括制作、调试、文档化、绘图、测试、断言、剖析和移植开发工具。

Logtalk

【更新日志】

V3.17.0

此版本提高了动态绑定性能;

为检测可疑调用添加了一个新的Link标志;

添加了一个新的用于帮助基准性能的生成目标;

修复了多线程回归错误;包括对一些示例的改进和修复;

改进捆绑脚本;

分享对SWI Prolog和YAP的可移植性更新;

以及对文档、编译器、库、工具、示例和安装程序的其他改进和修复。

下载仅供下载体验和测试学习,不得商用和正当使用。

下载体验

请输入密码查看下载!

如何免费获取密码?

点击下载

评论