Logtalk

软件截图:
Logtalk
软件详细信息:
版本: 2.44.1
上传日期: 14 Apr 15
开发: Paulo Moura
许可: 免费
人气: 1

Rating: nan/5 (Total Votes: 0)

Logtalk是一个开源的面向对象扩展到Prolog的编程语言。集成逻辑编程与面向对象和事件驱动编程,这是最Prolog的编译器兼容。
Logtalk支持原型和类。此外,它支持通过基于分类的组成基于组件的编程

特点

    分离接口与实现之间:
  • 谓词伪指令(声明)可以含有内部协议(接口),这可以通过任何对象来实现。

  • <李类=“bbli”>参数对象:
  • 对象的名称可以是含有可被用于参数化对象谓词自由变量复合术语

  • <李类=“bbli”>同时支持基于类和原型为基础的系统:
  • 您可能会在同一个应用程序,基于类的层次结构(与实例化和专业化的关系),并基于原型的层次结构(扩展的关系)。

  • <李类=“bbli”>支持多种对象层次:
  • 在不需要被限制在一个单一冗长的层次结构根植于一些通用的对象。

  • <李类=“bbli”>私有,保护和公共继承:
  • 在Logtalk支持私有,保护和公共继承类似于C的方式。此外,任何实体关系可以使用关键字范围加以限定。

  • <李类=“bbli”>私有,保护和公共对象谓词:
  • 您的对象的设定范围谓词来匹配您的协议设计,让系统运行时执行你的选择。

  • <李类=“bbli”>静态和动态对象:
  • 的对象可以是静态或动态。静态对象是在其中被编译并以相同的方式如Prolog的文件加载的源文件中定义。动态对象可以在源文件中被定义或是创建在运行时。

  • <李类=“bbli”>静态和动态对象谓词:
  • 任何静态对象可以包含静态和动态的谓词。

  • <李类=“bbli”>预处理器,所以我们可以使用标准的Prolog的语法:
  • 在Logtalk使用标准的Prolog语法,增加了一些运营商和指令平滑的学习曲线。

  • <李类=“bbli”>事件驱动编程:
  • 在谓词可以当窥探事件发生时被隐式调用,使编程解决方案,最大限度地减少对象耦合。此外,事件为反思行为的支持。

  • <李类=“bbli”>基于组件的编程:
  • 在谓词可以内部类,它可以用任何物体几乎被进口封装,无需任何代码重复,无论对象层次的。因此,对象可以通过类,其中充当重用作为细粒单位代码的组合物来限定。

  • <李类=“bbli”>多重继承的支持:
  • 在Logtalk支持多继承双方的协议和实施。一个对象可以实现多种协议和扩展,专业,或几个实例化对象。多继承冲突由Logtalk查找算法或显式地使用谓词指令隐含解决。

  • <李类=“bbli”>性能好:
  • 在Logtalk代码使用您用来编写高效的Prolog代码相同的工艺编制而成。此外,方法查找被Logtalk运行时引擎的缓存,大大提高了性能。在基准测试结果对于一些Prolog的编译器可以在这里找到。

  • <李类=“bbli”>与ISO Prolog的标准紧密结合:
  • 在Logtalk是专为与任何Prolog的编译器,符合或接近遵循ISO标准的Prolog顺利整合。

  • <李类=“bbli”>兼容大多数Prolog的编译器:
  • 在Logtalk接口,通过使其与几乎任何现代的编译器兼容的最小配置文件中的特定的Prolog编译器。

  • <李类=“bbli”>自动生成的XML文档文件:
  • 在Logtalk自动生成每一个编译对象,协议或类别的XML格式的文档文件。该系统包括所有必要的XSL(T)文件和脚本转换记录文件(X)HTML和PDF。
  • 在Logtalk运行在一个Prolog的编译器(主要开发环境是运行的MacOS X的苹果PowerBook G4),几乎任何一台计算机。 Logtalk和特定的Prolog编译器之间的接口经由配置文件来实现的。
  • 在该文件中包含一些特定Logtalk谓词和实现了ISO Prolog的标准谓词不是在序言中编译器可用。

  • <李类=“bbli”>在写Logtalk我试图按照Prolog的ISO标准只要有可能。所需Logtalk能力未在ISO标准的第一部分定义是:
    <李类=“bbli”>访问谓词属性(动态,静态,BUILT_IN):
  • 前提是你最喜欢的Prolog的有上面提到的这些功能​​,使一个配置文件是很容易的。该Logtalk包已经包含配置文件中最常见的Prolog编译器。为了获得最佳性能,Logtalk要求的Prolog编译器支持的第一参数索引静态和动态代码。

  • <李类=“bbli”>目前正在使用下面的Prolog的编译器(排名不分先后)进行Logtalk研究与开发和测试:
  • 在GNU Prolog的1.2.18
  • 在SWI Prolog的5.4.7
  • YAP 4.5.7
  • 在这一点,因为,这些可能是你最好的选择运行Logtalk(提供,你可以自由地使用这些编译器之一)。

  • <李类=“bbli”>此外,Logtalk运行与下面的Prolog的编译器很少或根本没有修改(按字母顺序排列):
  • 在ALS的Prolog 3.1
  • 在暗洗!序言6.22〜7.x的
  • 在BinProlog 8.x的〜10.x的
  • 在B-Prolog的4.0,5.0,6.x的
  • 在CIAO的Prolog 1.10p5
  • 在Eclipse的5.5〜5.8
  • 如果/ 5.x的序言
  • 在JIProlog 3.0.1-2
  • 在K-Prolog的5.1.2a
  • 在LPA MacProlog32 1.25
  • 在LPA WinProlog32 4.0倍
  • 在MasterProlog 4.1
  • 开启的Prolog 1.1b10
  • 在PrologII 4.5
  • 在QU-Prolog的6.7
  • 在Quintus的Prolog的3.3〜3.5
  • 在SICStus Prolog的3.8〜3.12.x
  • 在XSB 2.6〜2.7

什么在此版本中是新的

  • 修改消息发送机制来调用&QUOT;前&QUOT;执行方法查找之前的事件处理程序。这种变化应该不会对现有的代码没有任何影响,但允许一些有趣的应用程序(如失败时抛出的消息是不理解的异常,而不是)。
  • 在编译时设置的标志值/加载文件,并使用set_logtalk_flag / 2内置谓语之间时,编译器标志的更一致的处理:在这两种情况下,设置和QUOT; smart_compilation&QUOT;旗将关闭&QUOT;清洁&QUOT;标志和设置&QUOT;清洁&QUOT;旗将关闭&QUOT; smart_compilation&QUOT;标志。此外,设置和QUOT;调试和QUOT;国旗将同时关闭&QUOT; smart_compilation&QUOT;和&QUOT;清洁&QUOT;标志。
  • 在允许的软切控制结构,(* - &GT;)/ 2,当本地的后端Prolog的编译器支持,将在语法规则的身体,同时讨论GNU使用(一句话丹尼尔·迪亚斯后序言支持软切控制结构)。
  • 修正了Logtalk编译器错误时&QUOT; source_data&QUOT;标志为ON与后端的Prolog编译器,其中是不可能的检索读术语的位置。
  • 在的meta_non_terminal / 1指令,其中只有第一个荟萃论点正确处理编译更正的错误。
  • 在更新了Eclipse的配置文件来检测在Windows 64位系统上运行时,并忽略非谓语和非运营商出口时,预先处理的lib / 1指令。
  • 在更新单元测试框架失败的单元测试打印更多的信息的消息。
  • 新增谓词分裂/ 4(分裂名单成子列表与给定的长度)的&QUOT; listp&QUOT;,&QUOT;列表&QUOT;和&QUOT; difflist&QUOT;库实体。
  • 在更新了&QUOT; CC&QUOT;例如与外壳/ 2谓词CxProlog的定义。
  • 在改变,在与QUOT对象的名称; MI&QUOT;运行示例单元测试时的例子来避免名称冲突。
  • 在Windows的安装程序,防止检测YAP 64位版本修正了一个错误。由于斯捷潘Ipatov的错误报告。
  • 在Windows的安装程序,阻止用户自定义安装目录更正的错误。感谢丹尼尔·莫尼斯的错误报告,并加文·兰伯特用于诊断错误。
  • 在更新了XSB的完善的检测Windows安装脚本,并通过默认在已安装Logtalk的计算机上的非管理员用户运行时只安装每个用户的文件。
  • 在增加了对乳胶和QUOT基本支持;列表&QUOT;包。添加笔记上的&QUOT;铸造&QUOT;和&QUOT; texmates&QUOT; LaTeX的包。
  • 在Textastic iPad的文本编辑器添加了注释。
  • 在增加了对UltraEdit的文本编辑器的基本语法着色和代码折叠的支持。
  • 在更新了TextMate的捆绑,以禁用TextMate的2.0的开发版本引入了自动缩进更正。

什么的2.44.0版本是新的

  • 在补充类,允许修补两者改变了语义谓词声明和补充对象的谓词定义。这是通过确保谓词声明和定义查找展望补充对象本身或成及其相关实体开始之前在补充类来完成的。
  • 在更新了Logtalk编译器,以便为与支持编译为补充类别关闭一个补充对象编译补充类别时生成一个警告。
  • 修正在元呼吁元谓词,其中调用上下文将被设置为QUOT的处理的错误,这&QUOT;而不是&QUOT;发件人&QUOT;每当元论据是一个:: / 2,{} / 1,

什么的2.43.3版本是新的

  • 在改变了编译器要考虑到用途/编译调用反射内置方法时2指令。这种变化扩展用途/ 2指令的语义,并允许更容易迁移,从普通的Prolog应用Logtalk。
  • 在更新了predicate_property / 2内置方法的实施,增加了适用范围/ 1属性。
  • 在更新了Logtalk编译器添加关于源文件名,源文件目录和源文件编译器选项生成的Prolog文件的信息。在以前的版本中,这些信息加载源文件时,注册而已。这些变化简化构建应用Logtalk库是预编译和预加载。
  • 在更新了Logtalk编译器打印在源文件编译使用挂钩对象的名字的时候,&QUOT;钩&QUOT;编译器标志的定义。
  • 在更新了内置的调试器,以避免后端Prolog语言的编译器,其收回/ 1执行未采取合理的更新语义的优势,使通话确定性产生不必要的选择点。
  • 修正了Logtalk编译器运行时处理它抛出的实体存在异常时,未能编译内部实体标识符的错误。
  • 在更新了精益Prolog的配置文件,添加索引/ 1的指令使用的一些内部Logtalk运行表,动态谓词。
  • 在更新了SWI-Prolog的集成文件来测试的指标/ 1指令,这是通过为刚刚在时间的多参数索引的新的实验SWI-Prolog的支持,不赞成的可用性。
  • 添加谓词序列/ 4(用于生成列表的子序列与给定的长度),替换/ 4(用于替换元件在一个列表),和hamming_distance / 3到库&QUOT; listp&QUOT;和&QUOT;列表&QUOT;实体。
  • 新增euclidean_norm / 2,chebyshev_norm / 2,manhattan_norm / 2,euclidean_distance / 3,chebyshev_distance / 3,manhattan_distance / 3,和scalar_product / 3谓词图书馆&QUOT; numberlistp&QUOT;和&QUOT; numberlist&QUOT;实体。
  • 修正了一些愚蠢的错误,在&QUOT的定义,性质和QUOT;库对象谓词is_bin_digit / 1,is_octal_digit / 1,is_dec_digit / 1,和is_hex_digit / 1。
  • 在更新库&QUOT; all_loader.lgt&QUOT;加载程序文件也装载&QUOT; meta_compiler_loader.lgt&QUOT;加载程序文件。

什么的2.43.1版本是新的

  • 在改变了编译器要考虑到用途/ 2指令编译调用数据库内置方法时。这种变化扩展用途/ 2指令的语义,并允许更容易迁移,从普通的Prolog应用Logtalk。
  • 在增加了对使用谓词模板作为参数传递给coinductive / 1指令实验支持。此模板允许其说明书的参数是有意义的coinductive成功。根据发现的费利克斯Kluzniak的DRA元解释了类似的功能。
  • 在用于调试coinductive谓词使用内置调试器的Logtalk时改进的支持。

  • 对于CxProlog
  • 删除coinduction支持。该编译器的最新版本缺少软切内置谓语或控制结构,这是目前所要求的实验coinduction实施。
  • 在解禁即防止包装谓词的用户定义的bagof / 3和SETOF / 3内置每当目标参数可以使用^ / 2存在量词方法。
  • 的长期限制
  • 在增加了对&QUOT支持; ^&QUOT;元谓词元参数模式说明由Jan Wielemaker建议和SWI-Prolog的25年5月11日发现的。定义包装每当目标参数可以使用^ / 2存在量词的bagof / 3和SETOF / 3内置的方法时,这种模式说明是非常有用的。
  • 添加&QUOT; prolog_compiler&QUOT;和&QUOT; prolog_loader&QUOT;编译器标志,这让路过选项后端的Prolog编译器内置的谓词编译到磁盘和加载(编译)Prolog的标志。两个标志的默认值是空列表。
  • 在编译调用内置的元谓词,其中Logtalk编译器可以尝试处理非形而上学的论据,目标Prolog的专有当更正的错误。此错误仅表现出来的一些后端Prolog的编译器,比如Eclipse。
  • 在条件编译指令的处理更正的错误。
  • 修正了一个错误,防止在调用create_object / 4传递别名/ 3的指令,create_category / 4,和create_protocol / 3内置的谓词。
  • 从删除的内置对象&QUOT; logtalk&QUOT;在decompile_predicate_head / 4和decompile_predicate_indicator / 4废弃的方法。
  • 在为长期废弃Logtalk metapredicate / 1指令已删除的支持。
  • 修正了业绩的bug缓存调用类谓词所在的缓存条目可与参数化类型工作时会比需要的更具体的时候。
  • 在改进的&QUOT缓存;超&QUOT;从原型中调用。以前,所有缓存条目将专门由&QUOT值;自&QUOT;为了妥善处理特殊情况下的对象既实例化和专业的其他对象。
  • 在更新了Logtalk编译器包含指令的实体的编译过程中激活谓词范围的指示找到任何运营商的声明。
  • 改进coinductive谓词使用后端Prolog的编译器,如SICStus序言不提供软切断控制构建体,但提供的软切换时的性能内置元谓词(如果/ 3)。
  • 修正了一个错误,当源文件编译哪里可以印​​刷的编译/加载警告虚假报告/加载了编译器标志和QUOT;报告&QUOT;关闭。
  • 新增了&QUOT; streamvars&QUOT;库对象,从现有&QUOT而得; assignvars&QUOT;库类别,包括用于从一个与QUOT添加和检索条件(其可以是变量)的支持;流&QUOT;变量。
  • 在更新了&QUOT; coinduction&QUOT;例如,服用增强coinductive / 1指令的优势,扩大了可使用SICStus的Prolog运行单个实例的数量。增加了一个模型检验的例子,使用coinduction,coroutining和约束,贡献的妮达Saeedloei。
  • 在更新了&QUOT; metapredicates&QUOT;例如与示例代码说明如何定义包装的bagof / 3和SETOF / 3内置的方法时,元参数可能包含存在上限定的变量。
  • 在更新了&QUOT; CC&QUOT;例如,纠正谓词定义几个后端Prolog的编译器和添加一些基本的单元测试。
  • 在更新了&QUOT;编码&QUOT;例如与精益Prolog的支持有限。
  • 新增失踪项的meta_non_terminal / 1指令和电话// N的非终端的&QUOT;有利于&QUOT;例如。
  • 在增加了一个解析器PDDL 3.0文件,贡献的罗伯特Sasak。
  • 添加代码折叠支持的SubEthaEdit文本编辑器。添加的代码折叠条件编译块的凯特时,Vim和TextMate的文本编辑器的支持。
  • 在更新了集成脚本,以装载库路径加载Logtalk编译/运行之前文件中。这种变化的目的是从设置文件简化装载库和示例文件。此外,也期待在$ HOME /股Logtalk安装目录时LOGTALKHOME环境变量没有定义。由于VAtor桑托斯·科斯塔的建议。
  • 在更新的Windows安装以支持精益序言和检测YAP 64位版本。

什么的2.43.0版本是新的

  • 在增加了对精益Prolog的实验性支持
  • 在由Logtalk编译器和运行时改变错误报告。所有的例外条款现在使用,只要有​​可能,错误(错误,logtalk(目标,实体))
  • 格式。改变了内部错误检查使用,只要实用,新的“$ lgt_must_be'/ 2-3的内部谓词。
  • 在增加了一个&QUOT;优化&QUOT;标志,其默认值是QUOT;关于&QUOT ;.这个标志允许用户关闭用于例如现有的优化调试任务(在
  • 在目前实施的优化包括去除多余的调用真正的/ 0从编译谓语从句的身体和去除
  • 在冗余呼叫(=)/ 2由语法规则的扩张产生条款的机构)。
  • 新增了&QUOT; source_data&QUOT;标志,其默认值是QUOT;关于&QUOT ;.有了这个标志设置为QUOT;在&QUOT;,Logtalk将保留该信息为代表的使用模式/ 2
  • 在信息/ 1-2,使用/ 2,和use_module / 2指令加源位置的数据(包括源文件名和行号),都是有益的调试
  • 并与开发工具的集成。此标志可以以产生更紧凑的代码被关闭。该parameter_names / 1对象和
  • 类属性中,为了避免重复去除。
  • 在实施保护/ 1和私有/ 1属性的对象,协议和类别。加上公共/ 1财产,这些属性
  • 允许在实体声明谓词的列表将被访问用于反射计算。实施宣称/ 2,​​定义/ 2,包括/ 3
  • 和访问声明和一个实体中定义谓词的性能提供/ 3的属性。声明属性包括line_count / 1,谓词范围指令的行号。定义属性包括line_count / 1,第一个
  • 的头行号
  • 在作谓语从句,和number_of_clauses / 1,为谓语从句的数量。还实施了实验用途/ 3和use_module / 3的属性。
  • 在添加了谓词属性,redefined_from / 1,允许查询有关包含被重新定义一个谓词定义的对象或类别。
  • 在增加了一个loaded_file / 3谓词的&QUOT; logtalk&QUOT;内置对象,以补充现有的loaded_file / 2谓词,并给出访问

  • 使用
  • 在明确的选择,当文件被编译并加载。
  • 在为meta_non_terminal / 1指令和电话实现编译器支持//ñ内置非终端。
  • 在通过删除用于非终端范围和存在的错误处理的语法规则的支持简化的语法规则编制
  • 在水平,而不是谓语水平。尽管调试语法规则时,此功能可能是有益的,它复杂Logtalk与Prolog的原生开发工具的集成。
  • 在更新了Logtalk编译器,以节省实体条款的位置,并提供给后端信息的Prolog编译器。
  • 在更新了Logtalk编译器,以避免产生不必要的内部统称子句谓词声明和定义表的动态实体。
  • 在更新了Logtalk编译器,以便使用多文件谓词打破的对象封装,以排除。一个主要的声明
  • 在实体必须存在,同时含有一个范围,一个多文件指令作谓语。此外,条款定义为一个多文件
  • 在实体::函子/元数没有相应的多文件/ 1指令现在会导致编译错误,而不是仅仅是一个警告。
  • 在删除了Logtalk编译器的限制,迫使不连续/ 1和动态/ 1的指示,先调用声明的谓词。
  • 在改进了拼错调用非终端语法规则的Logtalk编译器报告。
  • 在允许使用的:/ 1控制建设对语法规则的体
  • 在调试中使用/ 2指令指定的消息时,消息现在印刷资格隐含在由用户编写的源代码。
  • 更改应用于内置多线程谓词的执行,以便于与集成内部谓词
  • 在高层次的调试工具,需要生成的Prolog代码的反编译。
  • 修正了Logtalk 2.42.4介绍了调用同步谓词实体谓词的编译错误。此错误导致通话
  • 正在代替以非同步形式的谓词,这将体现在螺纹目标随机故障。
  • 修正了类别中的一个运行时编译元通话将被编译为调用对象的谓词
  • 一个长期的bug
  • 在导入类别,而不是作为一个调用本地类谓词。
  • 修正了设置单位标志值在本地使用set_logtalk_flag一个长期的bug / 2指令将无法被保存到实体
  • 在编译的代码。
  • 修正了一个长期存在的错误时,取消动态谓词在非原型对象中取消/ 1的方法是成功的,而不
  • 在谓词被取消实际
  • 在调用元的说法,需要一个运行时编译在
  • 的背景下,当设置正确执行上下文已修复
  • &QUOT;发送方QUOT;
  • 在修正中明确限定调用模块元谓词,其中模块资格会从
  • 下跌编译错误
  • 在编译调用。需要注意的是,这些电话将使用Logtalk元谓词的语义(即元参数将被称为在
  • 的背景下
  • 在调用者),而不是通常的Prolog模块元谓词的语义。
  • 修正了该coinduction堆栈使用
  • 时未初始化的错误

什么是2.42.4版本,新的

  • 在此版本包括编译器,运行时和多线程性能优化,提高了同步/ 1和动态/ 1指令编译器错误消息,增加了对保护范围的运营商信息和输出信息的自动生成的XML文档文件的支持,增加了新的实用谓词的logtalk对象,提高了几种编程实例,包括一个解决方法在Windows上的SWI-Prolog的卸载程序错误,并设有便携性更新衢序言,序言SICStus,SWI-Prolog的,XSB和YAP。

什么是2.42.3版本,新的

  • 在该版本增加了对调用动态谓词支持的&QUOT背景下,这&QUOT;从类别中,增加了对预编译的条款头,包含错误修正和改进,内置的调试器,包括改进的库和示例,增加了对索引词支持使用SICStus Prolog的CLP(FD)库时,增加的实验例使用对象和类归因变量,并具有便携性的更新对于Eclipse,GNU序言,序言SICStus和SWI-Prolog的。

什么是2.42.2版本,新的

  • 在该版本改进了调用模块谓词的编译,提高了检查的元论据元谓词要求,提高了lambda表达式的支持,包括一个优化的编译器调用库的元谓词,记录事件增添了新的图书馆,与时间间隔的关系的工作,并利用整数计数器,提高现有的例子和库,增加了对使用基于JavaScript的包SyntaxHighlighter的,并具有便携性更新GNU Prolog的,衢序言,序言SICStus,SWI-Prolog的,和XSB。

什么是2.42.1版本,新的

  • 在这个版本增加了新的元谓词模式支持指标,从而支持内置元谓词更Prolog的专有。
  • 支持加入检测和报告丢失的动态/ 1和不连续/ 1指令。
  • 在一个新的棉绒标志增加了。
  • 在两元谓词编译错误被纠正。
  • 在一些例子进行了更新。

  • 被用于B-序言,序言SICStus,SWI-Prolog的,XSB和YAP发
  • 在便携性更新。

显影剂的其他软件 Paulo Moura

Logtalk
Logtalk

11 Mar 16

意见 Logtalk

评论没有发现
添加评论
打开图片!