/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
/中文/
想要提高编程人员的工作效率,那就赶紧来试试Logtalk官方版!它是一款功能非常强大的逻辑编程语言.它是基于分类组成的编程工具,拥有多层次多线程编程、组件编程等超多功能,全面满足编程人员的需求,Logtalk官方版为逻辑编程带来了新的方式!
多线程编程
在与选定的后端Prolog编译器运行LogTalk时,可以使用高级别多线程编程,允许对象同时支持同步消息和异步消息。螺纹发动机,独立和并行,以及竞争性或并行性也得到支持。轻松地利用现代多处理器和多核计算机,而不必担心创建和销毁线程的细节,实现线程通信,或同步线程。
多继承多实例支持
LogTalk支持协议和实现的多重继承。对象可以实现多个协议,并扩展、专门化或实例化多个对象。多继承冲突可以通过LogTalk查找算法或显式地使用谓词指令来隐式解决。
良好性能
使用与编写高效PROLO代码相同的技术编译LogTalk代码。此外,LogTalk支持静态绑定和动态绑定(使用方法查找缓存),大大提高了性能。一些Prolog编译器的基准测试结果在此可用。
与Prolog标准紧密结合
LogTalk设计用于与任何Prolog语言一致或紧密遵循官方和事实Prolog标准的平滑集成。
兼容大多数Prolog编译器
通过一个最小的配置文件与特定的后端Prolog编译器进行对话,使之与几乎任何现代编译器兼容。
全面开发工具集
LogTalk分布包括制作、调试、文档化、绘图、测试、断言、剖析和移植开发工具。
接口与实现的分离
谓词指令(声明)可以包含在协议(接口)中,它可以由任何对象实现。协议是一流的实体,旁边的对象和类别。
参数对象
对象标识符可以是包含可用于参数化对象谓词的自由变量的复合项。这允许我们将谓词子句解释为提供参数对象标识符的实例化。即,使用参数对象,我们可以将任意数量的谓词与复合词相关联。
支持基于类和基于原型的系统
在同一个应用程序中,可能有基于类的层次结构(具有实例化和专门化关系)和基于原型的层次结构(具有扩展关系)。此外,诸如协议(接口)和类别(组件)等基本语言特征可以由类、实例和原型同时使用。
支持多个对象层次结构
不必局限于一个单一的、长的层次结构,它植根于一些通用对象中。
私有、受保护和公共继承
logtalk支持私人,保护,并在某种程度上类似于C++的公共遗产。此外,任何实体关系都可以使用范围关键字来限定。例如,对象可以私下实现协议,从而使所有协议声明的谓词都是私有的。
私有、受保护和公共对象谓词
设置对象谓词的范围以匹配协议设计,并让运行时系统强制执行您的选择。
静态和动态对象
对象可以是静态的,也可以是动态的。静态对象在源文件中定义,这些源文件以Prolog文件相同的方式编译和加载。动态对象可以在源文件中定义,也可以在运行时创建。
静态和动态对象谓词
任何静态对象都可以包含静态谓词和动态谓词。
LogTalk语法扩展标准Prolog语法
LogTalk使用标准的Prolog语法,并添加了一些操作符和指令来实现平滑的学习曲线。Prolog代码可以很容易地封装在对象内,很少或没有变化。此外,LogTalk可以透明地解释大多数Prolog模块作为Logice对象,以方便重用现有代码(例如库)。
Logtalk
λ表达式
本地支持lambda表达式,包括咖喱。
事件驱动程序设计
谓词可以在调用事件发生时隐式调用,允许最小化对象耦合的编程解决方案。此外,事件为行为反射提供支持,并且可以用于实现面向方面编程中的切入点和建议的概念。
基于构件的程序设计
谓词可以封装在类别内,可以由任何对象实际导入,而不需要任何代码复制,而不考虑对象层次结构。因此,对象可以通过类别的组合来定义,这些类别作为细粒度的代码重用单元。类别也可以扩展现有的类别。类别可以用来实现方面和混合行为,而不需要继承。类别还支持运行代码的热修补。