Prolog是因为被释放回在1972年,除了极少数的更新通用逻辑程序设计语言。
Logtalk 的设立是为了增加更多的现代功能,Prolog的,主要的性能提升,lambda表达式,语法规则,改进编译器错误和警告的报告。
在这些之上,添加一个更简单的安装过程和Prolog的编译器兼容性更新。
这使得Logtalk在现代人工智能和计算机语言学的情景,一个更强大的多范式语言,适用于事件驱动和高层次的多线程编程更好,更适合的替代Prolog的。
目前Logtalk语法扩展了标准的Prolog语法,你可以在这些Prolog的编译器运行Logtalk:
B-Prolog的
CxProlog
ECLIPSE
序言GNU
序言精益
曲的Prolog
序言SICStus
序言SWI
XSB
YAP
本发行版是新的:
- 改进:
- 更改写编译的代码,以帮助减少使用这些标签生成的中间Prolog的文件,以决定何时装饰用的源位置数据(编译术语的大小时使用的术语标签目前,只有SWI-Prolog的花费优势位置数据)。
- 固定
- 一个文件可以有多个父文件。
什么在3.02.2版本是新的:
- 改进:
- 更改写编译的代码,以帮助减少使用这些标签生成的中间Prolog的文件,以决定何时装饰用的源位置数据(编译术语的大小时使用的术语标签目前,只有SWI-Prolog的花费优势位置数据)。
- 固定
- 一个文件可以有多个父文件。
什么在3.02.1版本是新的:
- 改进:
- 更改写编译的代码,以帮助减少使用这些标签生成的中间Prolog的文件,以决定何时装饰用的源位置数据(编译术语的大小时使用的术语标签目前,只有SWI-Prolog的花费优势位置数据)。
- 固定
- 一个文件可以有多个父文件。
什么在3.00.4版本是新的:
- 改进:
- 更改写编译的代码,以帮助减少使用这些标签生成的中间Prolog的文件,以决定何时装饰用的源位置数据(编译术语的大小时使用的术语标签目前,只有SWI-Prolog的花费优势位置数据)。
- 固定
- 一个文件可以有多个父文件。
什么在3.00.2版本是新的:
- 改进:
- 更改写编译的代码,以帮助减少使用这些标签生成的中间Prolog的文件,以决定何时装饰用的源位置数据(编译术语的大小时使用的术语标签目前,只有SWI-Prolog的花费优势位置数据)。
- 固定
- 一个文件可以有多个父文件。
什么在3.00.1版本是新的:
- 改进:
- 更改写编译的代码,以帮助减少使用这些标签生成的中间Prolog的文件,以决定何时装饰用的源位置数据(编译术语的大小时使用的术语标签目前,只有SWI-Prolog的花费优势位置数据)。
- 固定
- 一个文件可以有多个父文件。
什么是新的在2.44.1版本:
- 在meta_non_terminal的编制已修复/ 1指令,其中仅第一超论点正确处理。
- 更新Eclipse的配置文件在Windows 64位系统上运行时检测并忽略非谓语和非运营商出口时前处理的lib / 1指令。
- 更新单元测试框架打印更多的信息消息失败的单元测试。
- 新增谓词分割/ 4(分裂名单成子列表与给定的长度)的" listp","清单及QUOT;和" difflist"图书馆的实体。
- 更新了" CC"例如与壳/ 2谓词CxProlog的定义。
- 改变中的&QUOT对象的名称; MI"例如在运行例子单元测试时,为了避免名称冲突。
- 在Windows安装,阻止YAP 64位版本的检测修正的bug。由于斯捷潘Ipatov的错误报告。
什么是新的在2.44.0版本:
- 此版本改变补充类的语义,使它的使用来修补现有对象的代码,修复了在元呼叫处理两个错误,使得终端的开放清单中的DCG规则的身体,增加了两个新的例子,并改进了Vim的文本编辑器和旺盛的ctags的支持。
什么是新的在2.43.3版本:
- 修正了Logtalk编译器运行的处理程序,其中一个bug它没有抛出实体存在异常时,编译内部实体标识符。
- 更新精益Prolog的配置文件,添加索引/ 1指示对于一些通过内部Logtalk运行时表使用的动态谓词。
- 更新了SWI-Prolog的集成文件来测试索引/ 1指令,这是由刚刚在实时多参数索引的新的实验SWI-Prolog的支持弃用的可用性。
- 添加谓词子/ 4(用于生成列表的子序列与给定的长度),替换/ 4(在列表替换的元素),和hamming_distance / 3到库" listp"和]清单"实体。
- 新增euclidean_norm / 2,chebyshev_norm / 2,manhattan_norm / 2,euclidean_distance / 3,chebyshev_distance / 3,manhattan_distance / 3,和scalar_product / 3谓词图书馆" numberlistp"和" numberlist"实体。
- 在&QUOT的定义,纠正了一些愚蠢的错误;字符"库对象谓词is_bin_digit / 1,is_octal_digit / 1,is_dec_digit / 1,和is_hex_digit / 1。
- 更新图书馆" all_loader.lgt"加载程序文件还加载" meta_compiler_loader.lgt"加载程序文件。
什么在2.43.2版本是新的:
- 优化编译源文件时,操作者声明处理和动态创建新的实体。
- 更新了Logtalk编译器使用"模块"测试编译器标志时的Prolog模块的支持,从而避免与后端Prolog语言的编译器编译问题不支持的模块系统,但仍定义(:)/ 2作为内置控制结构和谓词
- 的&QUOT移除支持; startup_message"编译检举];标志(紧凑型)QUOT;和"标志(详细)"值,用一个单一的值代替,"标志&其对应于旧&QUOT QUOT ;,;标志(紧凑)QUOT;值。
- 使用运算/ 3指令时,与create_protocol / 3,create_object / 4,和create_category / 4内置谓词所在的当地运营商的声明将成为新的实体外部可见更正的错误。
- 修正了在运行时创建一个新的动态的实体将定义当实体被废止,不会被废除一个不再使用记账动态谓语的错误。
- 修正编译器故障而其中a QUOT;超强"从对象只能实例化本身并没有专门的对象将抛出一个异常,而不是失败的内部调用。
- 更新了"基准"例如为了计算每秒调用为每个测试的总数时,为了防止算术异常。运行单元测试时,以避免与慢后端的Prolog编译冗长计算时间降低基准测试的重复次数。
什么在2.43.1版本是新的:
- 改变编译器顾及用途/ 2指令编译到数据库中内建的方法调用的时候。这种变化扩展用途/ 2指令的语义,并允许从纯Prolog的应用程序更容易移植到Logtalk。
- 增加了使用谓词模板作为参数传递给coinductive / 1指令实验性支持。此模板允许其说明书的参数是有意义的coinductive成功。根据对费利克斯Kluzniak的DRA元解释发现类似的功能。
- 使用内置调试器Logtalk当调试coinductive谓词改进支持。
- 为CxProlog删除coinduction支持。该编译器的最新版本缺少软切内部谓词或控制结构,这是目前由实验coinduction实施所需。
- 解禁,阻止包装谓词的用户定义为bagof / 3和SETOF / 3内置每当目标参数可以使用^ / 2存在量词方法。 的长期限制
- 增加了对&QUOT支持; ^"元谓词元参数模式说明由Jan Wielemaker建议和SWI-Prolog的25年5月11日发现的。定义为bagof / 3和SETOF / 3内置方法只要目标参数可以使用^ / 2存在量词包装时,此模式说明是非常有用的。
- 添加" prolog_compiler"和" prolog_loader"编译器标志,这让路过选项后端的Prolog编译器内置的谓词编译到磁盘和加载(编译)Prolog的标志。这两个标志的默认值是空列表。
- 修正了以下错误编译成Prolog的专用电话时内置元谓词,其中Logtalk编译器可能会试图处理非荟萃参数作为目标。该错误只与一些后端Prolog语言的编译器,比如Eclipse表现出来。
- 在条件编译指令的处理已修复。
- 修正了防止通过别名/ 3指令上的调用到create_object / 4的一个bug,create_category / 4,和create_protocol / 3内置谓词。
- 从删除内置的对象和QUOT; logtalk"在decompile_predicate_head / 4和decompile_predicate_indicator / 4不赞成的方法。
- 为长弃用Logtalk metapredicate / 1指令移除的支持。
- 缓存来分类谓词呼叫凡与参数类别工作时,缓存条目可能会超过必要的具体修正时性能的bug。
- 改进的&QUOT缓存;超强"从原型中调用。以前,所有缓存条目将通过&QUOT值专业化;自"为了正确地与特殊情况下,一个对象都实例化和专业的其他对象打交道。
- 更新了Logtalk编译器包含指令实体的编译过程中激活谓词范围的指令发现任何运营商的声明。
- 改进coinductive谓词使用后端的Prolog编译器,如SICStus序言不提供软切断控制构建体,但提供的软切换时的性能内置元谓词(如果/ 3)。
- 修正/装载编译器检举]当一个源文件编译,其中可以打印编译/加载警告的虚假报告的bug;报告"关闭。
- 新增了" streamvars"库对象,从现有的&QUOT而得; assignvars"库类别,设有用于从&QUOT添加和检索条件(其可以是变量)的支持;流"变量。
- 更新了" coinduction"例如,以增强coinductive / 1指令的优势,扩大了可使用SICStus Prolog的运行实例个体的数量。增加了一个模型检验例如,使用coinduction,coroutining和约束。
- 更新了" metapredicates"例如使用示例代码说明如何定义封装的bagof / 3和SETOF / 3内置的方法时,元参数可以包含存在性限定的变量。
- 更新了" CC"例如,纠正谓词定义好后端Prolog语言编译器和添加一些基本的单元测试。
- 更新了"编码"例如与精益Prolog的支持有限。
- 新增失踪条目的meta_non_terminal / 1指令和呼叫// F非终端的"帮助"例子。
- 增加了3.0 PDDL文件的解析器,促成由罗伯特Sasak。
- 添加代码折叠支持的SubEthaEdit文本编辑器。增加了代码折叠条件编译块到凯特时,Vim和TextMate的文本编辑器的支持。
- 在以加载库路径加载Logtalk编译/运行之前文件中更新的集成脚本。这一变化旨在简化库和实例文件加载从设置文件。此外,也期待在$ HOME /股Logtalk安装目录没有定义LOGTALKHOME环境变量时。
- 更新Windows安装以支持精益序言和检测YAP 64位版本。
什么在2.43.0版本是新的:
- 增加了对精益Prolog的实验支持
- 删除了Logtalk编译器的限制,迫使不连续/ 1和动态/ 1指令,以先于声明的谓词的电话。
- 改进拼错的调用语法规则中的非终端的Logtalk编译报告。
- 允许使用的:/ 1器上的语法规则身体构造
- 在调试时在使用/ 2指令规定的消息,该消息现在被印制在用户编写的源代码隐含合格。
- 改变中的内置多线程谓词,以便于与需要生成的Prolog代码的反编译的高级调试工具的集成。 的实施中使用的内部谓词
- 修正为单元测试库支持的一个bug,"。lgtunit&QUOT ;,其中测试例外愿意接受任何异常任期符合单元测试规范
- 更新了" CC"例如有bug修复和Eclipse的改善贡献的约阿希姆Schimpf,有bug修复的SWI-Prolog的实施expand_path / 2谓词(从最新的变动SWI-Prolog的产生absolute_file_name / 3内置谓词),并与为command_line_arguments / 1谓词为B-Prolog的定义。
- 更新了" coinduction"例如,添加一些个别的例子。
- 更新了" xml_parser"为了要解决与GNU Prolog的可移植性问题作出贡献。
- 修正在某些shell脚本的臭虫"#/斌/ bash的"代替"#!/斌/ bash的&QUOT ;.感谢Yiorgos Adamopoulos的错误报告。
- 更新了Inno Setup的GUI的Windows安装程序脚本,以便让全部安装由非管理员用户。
- 为ISO Prolog的指令增加了语法着色支持包括/ 1于所有支持的文本编辑器和语法荧光笔。
- 修正选项卡上的一些错误触发器在gedit Logtalk片段,阻止其使用。
- 改变回生成用户和参考手册的PDF版本时,为FOP截断某些网页的内容使用,而不是FOP XEP。
什么在2.42.4版本是新的:
- 增加了一个entity_prefix / 2谓词和两套效用谓词decompile_predicate_heads / 2-4和decompile_predicate_indicators / 2-4,向" logtalk"内置对象。标志着decompile_predicate_head / 4和过时decompile_predicate_indicator / 4。
- 增加了保护运营商的范围的信息支持在编译时使用范围指令申报。实体上增加了信息运营商宣布对XML文档文件。更新了文本,PDF和(X)HTML转换脚本打印出运营商的信息。
- 应用几个低级别的优化的编译器Logtalk /运行。
- 移动内部谓词构造和编译器的Prolog的配置文件访问谓词执行上下文,以支持精细性能调优是Prolog的编译器相关的。
- 更新螺纹/ 1多线程内部谓词,以使用基于蒂莫范Overveldt建议term_variables / 2内置谓词的小性能优化的实现。这种优化的目的是减少方面的不必要的复制和统一。此外,通过简化主机和从机线程,这也提高了性能的处理更换使用与捕获/ 3内置谓词的setup_call_cleanup / 3内置谓词。
- 修正了螺纹/ 1多线程内部谓词,其中用户尝试失败时使用独立的并行性会导致僵尸线程指定的独立目标的实现中的错误。
- 更翔实的例外条款,当试图声明谓词同步动态或动态谓词的同步。
- 更新了XSB配置文件以支持模块为对象的汇编。增加了对失踪setup_call_catcher_cleanup / 4内置谓词的定义。 XSB 3.3(或更高版本)现在需要兼容Logtalk。
- 更新了SWI-Prolog的配置文件,以提供对arithmetic_function / 1专用指令的支持有限(算术函数被编译为全局,而不是本地的对象或类别定义它们)。
- 更新了YAP配置文件,以忽略style_check / 1指令,并解释yap_flag / 2指令作为set_prolog_flag / 2指令。
- 改变默认的XSL-FO处理器(用于生成用户和参考手册的PDF版本)从XEP到FOP。
- 更新了" xml_parser"为了要解决与瞿序言,序言SICStus和XSB可移植性问题作出贡献。
- 更新了"编码"比如为了确保有编码/ 1指令之前没有空格。
- 更新了" attvars"例如,为了支持B-序言和XSB。还增加了使用Logtalk参数对象和参数类别中归于变量的支持。由于扬Wielemaker,VAtor桑托斯科斯塔和Bart Demoen反馈和执行建议。
- 更新了"剖析"例如用在SICStus Prolog的4.2版本更改执行分析的初步支持。
- 更新了"扩展"例如关于如何term-和目标扩展定义从不同的挂钩对象合并更多的样本代码。
- 更新了" coinduction"例如,添加的实验keysort / 2 coinductive谓词。感谢扬金库的意见。
- 更新了"德"多线程的例子,会导致排气迅速使用SWI-Prolog的时候本地堆栈由于创立了大量不必要的选择点的缺失晋级。
- 更新了" mtbatch"多线程的例子,以提供&QUOT扩大标杆;德"例子。
- 更新了的MacPorts portfile和脚本来更新它以消除MD5校验,这是由MacPorts的淘汰量的计算。
- 更新了Inno Setup的GUI的Windows安装程序脚本,以便要解决的SWI-Prolog的的Windows安装程序所在的卸载过程无法从Windows注册表中删除SWI-Prolog的键的错误。
什么在2.42.3版本是新的:
- 允许在类中声明动态谓词被称为在"这"从类别之内。在以前的版本中,此类呼叫将导致编译时错误,迫使这些谓词&QUOT被称为;自" (使用:: / 1消息发送控制结构)。
- 新增Logtalk编译器的支持。使用期限膨胀机制时,此功能是非常有用。
- 修正上简化了语法规则的编译生成的谓语从句代码中的错误。代码将循环当一个语法规则包含在元变量,其中Logtalk编译器应该(但目前还不)的报告为非法(呼叫/ 1控制结构应该用在这种情况下)。
- 简化在伪对象和的上下文中调用的汇编;用户QUOT;
- 增加了调试器命令" P"到Logtalk内置调试器。此命令打印使用的打印/ 1谓词时可用的当前目标。更名为调试器命令" Q"到" Q&QUOT ;.已修复调试器命令" W"将不被认可。改变了调试器命令" D"必要时引用条款。
- 新增了部分实现了ISO Prolog的predicate_property / 2谓词到Eclipse配置文件的。
- 更新了SWI-Prolog的配置文件,以除去该库的元谓词的错误声明dde_register_service / 2,时间/ 1,并且当/ 2作为内置元谓词。
- 应用bug修复的"标志"贡献其作者,Theofrastos Mantadelis提供。解决方法与GNU Prolog的兼容性问题。
- 增加了memberchk / 2谓词图书馆" SETP"协议"设置"目的。添加谓词is_control / 1,is_newline / 1,和is_end_of_line / 1到库" characterp"和"字符"实体。
- 由使用Logtalk对象和类别内归因变量的实验例。目前需要使用YAP或SWI-Prolog的作为后端的Prolog编译器。
- 增加了索引词的&QUOT支持;限制/ sicstus"例子。
- 扩展的"代表"例如与使用参数对象的委托人的一个样本实现。
- 扩展的" dynpred"例子以说明如何定义在&QUOT上下文处理动态谓词类谓词;这"而在&QUOT的背景下;自"
- 增加了WALL_TIME / 1谓词的" CC"例子。
- 更新了语法高亮测试文件,添加缺失真/ 0和失败/ 0控制结构。
预编译的条款头(使用{} / 1控制结构)
什么是新的在2.42.2版本:
- 更新了Logtalk编译器,以允许检查模块谓词属性,而不需要导入谓词放入"用户QUOT; (注意,然而,该模块仍然必须事先对源文件的调用模块谓词的汇编加载)。
- 更新了Logtalk编译器,以检查呼叫/ 2-N目标,为常见的编程错误编译时关闭实例化的参数。
- 更新了Logtalk编译器,以生成未声明为自由变量或lambda参数或与该声明为既自由变量和参数的lambda变量变量lambda表达式警告。感谢扬金库对这些建议的完整性检查。
- 在为了使用&#X3C支持更新了Logtalk运行;< / 2控制在构建元谓词关闭元参数 。
- 增加了免费编译/目标lambda表达式电话(通过自动生成一个辅助谓词尽可能)的支持。
- 增加了compile_aux_clauses / 1 public方法的基础上,在SWI-Prolog的相同名称的谓词,到内置对象" logtalk&QUOT ;.这种方法通常是从goal_expansion / 2挂钩,以编译支持扩展的目标所产生的辅助条款调用。
- 添加元谓词忽略/ 1,被一些Prolog语言编译器作为一个内置的谓词来实现,作为一个Logtalk内置的方法。
- 更新了SWI-Prolog的配置文件,以防止模块库的自动加载从Logtalk查询谓词属性时。
- 更新了瞿序言,序言SICStus和XSB配置文件,以使现有的谓词term_variables / 2作为ISO内部谓词。
- ,以便为编制Logtalk编译/运行,解决启动崩溃一倍堆大小值更新了瞿Prolog的集成脚本。
- 恢复了MacOS X的命令文件GNU Prolog的(从&QUOT上升;脚本/ MacOSX的/ command_files /不支持"文件夹)。
- 新增谓词findall_member / 4-5的库对象和QUOT;元" (根据理查德·奥基夫的序言草案提案库)。删除了声明和定义调用/ 1和忽略/ 1从库中的实体和QUOT谓词; METAP"和"元" (可调用/ 1是所有支持的Prolog编译器内置谓词;忽略/ 1现在是一个Logtalk内置方法) 。
- 增补库对象," meta_compiler&QUOT ;,可以用作钩对象扩展到库中物体QUOT定义的元谓词呼叫;中继"为了避免所述元呼叫开销。在哪里元谓词通话不能优化的情况下,在&QUOT默认定义;元"使用对象。使用控制结构作为元参数是不是(还)的支持。工作正在进行中。
- 补充协议," loggingp&QUOT ;,和类别和对象的实现,"记录"和"记录&QUOT ;,申报和记录事件的文件到图书馆定义基本功能
- 增加了一个协议," intervalp&QUOT ;,和对象,"间隔和QUOT ;,声明和定义的基本时间间隔关系到库(根据詹姆斯·艾伦区间代数工作) 。
- 新增一个类别实施名为整数计数器,"柜台和QUOT ;,图书馆
- 新增谓词proper_prefix / 2和proper_suffix / 2图书馆实体" listp","清单及QUOT;和" difflist"
- 新增谓词转/ 2到库对象"对"
- 增加了对测试而言,&quot两个伪-例子; lambdas_compiled"和" metapredicates_compiled&QUOT ;,即利用新的库对象
- " meta_compiler"
- 更新了"扩展"例子以说明如何定义和组合挂钩对象。
- 增加了对使用包SyntaxHighlighter的(版本3.0.83或更高版本)由Alex Gorbatchev与Logtalk源代码的支持。
- 新增的else / 0条件编译指令到GNU源亮点荧光笔支持。 缺少的语法着色
- 新增的Logtalk文本编辑支持的说明可在免费的MacOS X KOD文本编辑器。
- 新增加的语法着色支持忽略/ 1个内置的方法来所有支持的文本编辑器和语法荧光笔。
什么在2.42.1版本是新的:
- 添加到Logtalk编译器支持检测和报告丢失的动态/ 1和不连续/ 1谓词指令。
- 增加了一个新的标志皮棉," missing_directives&QUOT ;,用&QUOT一个默认值;预警和QUOT ;,所有配置文件。此标志使编译器警告印刷失踪动态/ 1,不连续/ 1,和多文件/ 1谓词指令。
- 新增支持。
- 检查元谓词子句头的错误,其中&QUOT时更正了Logtalk编译器中的错误; ::"荟萃参数模式指示灯仍然被解释为QUOT; 0 QUOT;
- 修正了封的处理,用于构建呼叫控制结构或内置谓词,这可能导致在错误的情况下调用一些荟萃参数的错误(在元话费)。由于乌尔里希Neumerkel在SWI-Prolog的邮件列表说明的例子。
- 更新了Logtalk编译器,以避免错过的&QUOT引用印刷警告;扩大"和"监测"编译模块为对象时,内置的协议。
- 还原为原始版本2.39.2,允许伪对象&QUOT的变化;用户QUOT;几乎包含所有的Prolog内置谓词的定义中。调用的&QUOT上下文元谓词时这可能导致取决于后端的Prolog编译器,特别不同的结果;用户QUOT。
- 修正了SWI-Prolog的&QUOT错误; swihooks.lgt"文件,导致大约咨询了Prolog的文件时,如果与在同一目录下的同名Logtalk源文件中的无效Logtalk国旗的虚假错误信息。
- 专有内置元谓词到B-序言,序言SICStus,SWI-Prolog的,XSB和YAP配置文件。 新增失踪的支持
- 更新了SICStus序言,SWI-Prolog的,和YAP配置文件,以覆盖元谓词模板的咨询/ 1和load_files / 2内置谓词。
- 增加了map_reduce / 5元谓词的执行情况向库对象"元"
- 增加了command_line_arguments / 1谓词的&QUOT的实现; CC"例子。
- 更新了" lambda表达式"和" metapredicates"例子,说明如何使用折叠左元谓词来计算斐波那契数。更新了" metapredicates"例如与map_reduce / 5元谓词的使用示例。
- 更新了" problog"例如,添加了新的注释语法析取初步支持。
- 新增了"魔术"元素为freedesktop.org共享MIME-信息数据库Logtalk的MIME类型的文件。
一个谓语指标,[/]为谓语指标清单(/)和[0]的目标清单:新的元谓词模板模式指示灯
什么在2.42.0版本是新的:
- 添加持久化对象标志的实施
- 增加了一个新的对内部谓词,conforms_to_protocol / 2-3,实施协议实现关系的传递闭包。
- 增加了一个实验指令,注释/ 1,用于支持与其他语言如ProbLog和CHR Logtalk集成。
评论没有发现