首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

tau-prolog不会运行我使用CHR库的prolog代码,尽管它可以在SWI-Prolog上运行

tau-prolog是一个基于JavaScript的Prolog解释器,它支持一些Prolog的核心特性,但并不完全兼容SWI-Prolog。CHR(Constraint Handling Rules)是一种用于处理约束的规则语言,它在SWI-Prolog中作为一个库提供。

由于tau-prolog并不完全兼容SWI-Prolog,它可能无法正确解析和执行使用CHR库的Prolog代码。这可能是因为tau-prolog的实现方式与SWI-Prolog的实现方式不同,导致它无法正确处理CHR库中的特定语法和语义。

如果你想在tau-prolog上运行使用CHR库的Prolog代码,你可以尝试以下解决方案:

  1. 检查tau-prolog的文档和官方支持,确认是否支持CHR库或类似的约束处理规则。如果tau-prolog不支持CHR库,那么你需要寻找其他支持CHR库的Prolog解释器。
  2. 尝试使用其他Prolog解释器,如SWI-Prolog,来运行使用CHR库的代码。确保你的代码在SWI-Prolog上正常运行后,再尝试在tau-prolog上运行。
  3. 如果你需要在JavaScript环境中使用CHR库,你可以考虑使用其他支持CHR库的JavaScript库或框架。一些流行的JavaScript约束处理库包括JSCHR和JSCHR.js。这些库提供了类似于CHR的功能,并且可以在JavaScript环境中运行。

总结起来,tau-prolog可能无法运行使用CHR库的Prolog代码,因为它与SWI-Prolog的实现方式不同。如果你需要使用CHR库或类似的约束处理规则,你可以尝试其他支持CHR库的Prolog解释器,或者考虑使用其他支持约束处理的JavaScript库。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Prolog 语言入门教程

本文简单介绍如何使用 Prolog 语言,主要参考了 xmonader 教程。 一、SWI-Prolog 学习之前,请安装 Prolog 运行环境 SWI-Prolog,才能运行后面的代码。 ?...SWI-Prolog 官网有各个操作系统二进制安装包,下载即可。Debian / Ubuntu 系统还可以用下面的命令。...$ sudo apt-get install swi-prolog 安装以后,Linux 系统可以命令行启动。 $ swipl ?- 然后,就进入了 Prolog 运行环境,?-是命令提示符。...退出 SWI-Prolog可以使用halt命令,别忘了后面还要加一个点。 ?- halt....然后 SWI-Prolog 里面加载这个脚本。 ?- [hello]. true. 上面代码中,true.是返回结果,表示加载成功。 然后,可以查询两个人是否为朋友。 ?

3.3K10

Yarn 4.0 正式发布,性能大幅提升!

另外,过去还建议使用 yarnPath 设置指向一个已签入二进制文件,但这种模式增加了一些不必要麻烦,许多人不喜欢将二进制文件添加到他们代码中,即使很小。...我们可以通过 enableHardenedMode 来主动启用 Hardened Mode,但当 Yarn 检测到它在公共存储 GitHub Pull Request 中运行时,它也会自动启用。...另外, Hardened Mode 约束下运行安装会比平常慢得多,因为它们需要执行许多额外网络请求,所以不建议默认启用它。...例如,可以定义一个规则,要求所有工作区都必须使用相同 "lodash" 版本。 Yarn 约束引擎过去由 Tau-Prolog(一种 JavaScript Prolog 实现)提供支持。...这是一个非常有趣模式,与基于规则 linting 概念很好地结合在一起。但不幸是,Prolog 被证明使用起来非常复杂,增加了约束学习曲线,超出了大家可以接受阈值。

1.2K30

prolog到LTN,AI逻辑推理能力1

02 Prolog 语言 我们来试验下逻辑编程,开发环境是mac,打开终端,输入: brew install swi-prolog 安装过程有点漫长,等待安装完成。...注意,prolog每条命令结尾需要添加一个 . 号 终端会打印出Hello Mixlab字样,恭喜,prolog运行成功。 如何退出prolog?终端输入: halt. 即可退出prolog。...返回是false,因为shadow没有录入man里,再试试输入: person(john). 返回是true。 详细代码地址可以见文末。我们继续往下 ?...一旦我们把apple(x)取值范围变为0-1,我们就可以利用神经网络进行分类,然后再使用我们逻辑公式对其进行推理。此外,我们可以使用逻辑公式来指导学习神经网络权重过程。...我们可以优化神经网络权重,使其正确地将x分类为apple。 是喜欢上了逻辑编程方式,还可以为AI加上推理能力,

2.9K10

--“三维度”逻辑编程语言设计(2)

/default-chinese.htm 使用Visual Prolog可以构建工业级商用程序,尤其适合处理复杂认知问题。...使用Chez Scheme编写了一个新冠病毒感染风险监测程序,可以点击这篇文章《Scheme语言实例入门--怎样写一个“新型冠状病毒感染风险检测程序” 》了解和下载运行这个Scheme程序。...奇怪是,F#国内鲜有使用,而在国外被称为薪水最高编程语言,如下图2019编程语言薪资排行榜。 ?...下面我们再通过一个简单一点“游戏人生”程序来带领大家认识逻辑编程,并且示例代码使用大家熟悉C#语言来模拟Prolog程序风格,这样来看逻辑编程就会自然点。...,即可看到张三和貂蝉是否可以生孩子结果,具体运行结果将在本系列结束后公布,读者也可以《SOD框架“企业级”应用数据架构实战》一书中事先看到答案。

5K20

5种最流行AI编程语言

对于开发人员来说,Python机器学习应用非常令人高兴,因为它比C ++和Java等语言要简单。...Python也是一种非常便携语言,因为它可以Linux,Windows,Mac OS和UNIX平台上使用。...Python也很受开发人员欢迎,因为允许开发人员创建交互式,可解释式性,模块化,动态,可移植和高级代码,这使得它比Java语言更独特。...由于拥有简单函数和理想结构,Python很适合神经网络和自然语言处理(NLP)解决方案开发。 优势 Python具有丰富多样和工具。 不必实施情况下进行算法测试。...此外,C ++允许大规模使用算法,并且使用统计AI技术方面非常高效。另一个重要因素是由于继承和数据隐藏,开发中C ++支持重用代码,因此既省时又省钱。 C ++适用于机器学习和神经网络。

2.2K80

2020年,顶尖程序员最应该掌握7种编程语言

选自知乎用户:https://www.zhihu.com/question/284549387/answer/451018336 尽管刚开始开发 AI 时,有很多编程语言都可以满足你需求,但没有一种编程语言是可以一站式解决...太自由,没人可以读懂别人代码;太不自由,就会没那么强表现力。—Guido van Rossum 使用 Python,你不仅可以获得优秀社区支持和广泛集,还能享受到其灵活性。...Java 被公认为世界最好编程语言之一,它在过去 20 年间使用情况就是最好证明。...Haskell 是一种非常安全编程语言,因为和其他编程语言相比,Haskell 很少出现错误,所以处理错误方面提供了更大灵活性。即便发生了错误,也可以在编译(而非运行)时捕获大多数非语法错误。...Haskell 提供功能包括: 强大抽象能力; 内置内存管理; 代码可重用性; 易于理解。 SQL、Lisp 和 Haskell 是所见过唯一可以把时间花在思考而不是打字编程语言。

1.4K00

五大人工智能流行编程语言对比,只要学会一种绝对不亏!

Python最打动人心地方之一就是便携性,它可以Linux、Windows、Mac OS和UNIX等平台上使用。允许用户创建交互式、解释、模块化、动态、可移植和高级代码。...此外,c++允许广泛使用算法,并且使用统计人工智能技术方面是有效。另一个重要因素是c++支持开发中重用代码。 C ++适用于机器学习和神经网络。...Java Java也是一种多范式语言,遵循面向对象原则和一次写入读取/随处运行(WORA)原则。它是一种AI编程语言,可以在任何支持平台上运行,而无需重新编译。...Prolog支持基本机制,例如模式匹配、基于树数据结构和人工智能编程自动回溯。除了人工智能项目中广泛使用外,Prolog还用于创建医疗系统。...这五种编程语言,学会一种人工智能时代也是不会哦!

1.1K00

又要头秃?2020年七大AI编程语言大盘点

——Guido van Rossum 使用Python,你不仅可以获得优秀社区支持和大量,还可以享受编程语言提供灵活性。...Keras,作为高度复杂数学计算和操作代码接口。 SparkMLlib,类似于Apache Spark机器学习使用算法和实用程序等工具使得机器学习对每个人都可以很轻松。...一次编写,到处运行。 Java被认为是世界最好编程语言之一,过去20年大伙使用证明了这一点。...Kubeflow Kubeflow用于Kubernetes轻松部署和管理机器学习堆栈,提供现成机器学习解决方案。...Haskell提供一些功能包括: 强大抽象能力 内置内存管理 代码可重用性 易于理解 SQL、Lisp和Haskell是见过仅有的编程语言,在这些语言中,人们花在思考上时间比写代码时间要多

1.7K20

如何用Python标准print函数打印一个彩色围棋局面?

公众号后台回复“图书“,了解更多号主新书内容 作者:天元浪子 来源:Python作业辅导员 尽管print函数是初学者最先接触到第一个Python标准函数,但很多人并没有真正了解。...曾经《Python 必杀技:用 print() 函数实现三个特效》一文中展示了print函数一些实用技巧,受到读者热捧。...今天,再给大家介绍print函数另一个技巧:打印彩色文字和图案,并在最后定义一个打印围棋局面的函数,可以打印出下图这样效果。 ?...不过,如果你是Windows环境中运行的话,估计不会出现这个期望结果。猜测这应该是Python一个非常古怪且难以解决bug,从Py2时代就一直如此。...解决方案也很奇葩,使用os模块system函数运行一次空命令就OK了。

61730

如何免安装使用 Python?推荐 17 个在线 Python 解释器!

尽管有以上缺点,但是用它们来练习编写 Python 代码是足够。下面就是 Python 在线服务网站列表。这不是一篇匆忙整理标题党文章;仔细检查了每一个网站,并按照个人喜好顺序罗列出来。...主要缺点是,程序在运行时会有所限制(因为结果返回到你浏览器之前,程序是它们服务器运行),但是大多数练习例子中,你不会遇到什么问题。...该站点还有用于 C、C++、Java、Javascript 和其他几种语言在线编译器。Replit 还有一个 APP,可以智能手机和平板电脑使用。...这意味着你在运行程序时没有内存或 runtime 限制,因为它们是在你自己计算机上运行。缺点是浏览器加载网页时,必须先下载 6 M Brython 代码。...完全浏览器中使用 JupyterLite 运行 JupyterLab,而不是服务器运行

3.1K40

用于数学 10 个优秀编程语言

允许表达数学断言,机械地检查这些断言证明,帮助找到形式化证明,并从其正式规范建设性证明中提取认证程序。 Coq工作归纳结构微积分理论基础,归纳结构微积分是结构微积分一个衍生物。...Prolog根源是一阶逻辑——一种形式逻辑,且与许多其他编程语言不同是,Prolog是声明式。 程序逻辑用关系来表达,用事实和规则来表现。通过对这些关系运行查询来启动计算。...IDRIS Idris是一种具有相关类型通用纯函数编程语言。类型系统类似于Agda使用类型系统。 语言支持可与Coq媲美的交互式定理证明,包括策略,即使定理证明之前,重点仍然放在通用编程。...得益于此丰富生态系统,你可以轻松学习,这对于科学计算来说真的非常棒。而且,由于很受欢迎,因此示例(和Jupyter notebooks)可以广泛使用。 10....J J是一种非常简洁数组编程语言,尤其适用于数学和统计编程,特别是矩阵执行操作时候。它也被用于极限编程和网络性能分析。

3.3K100

高薪AI工程师都在用什么编程语言?2020 年七大 AI 编程语言大盘点

——Guido van Rossum 使用Python,你不仅可以获得优秀社区支持和大量,还可以享受编程语言提供灵活性。...——Guido van Rossum 下面是一段Python代码示例: Python代码示例片段 Python一些最受欢迎,列表如下: TensorFlow,用于解决机器学习工作负载和使用数据集问题...Keras,作为高度复杂数学计算和操作代码接口。 SparkMLlib,类似于Apache Spark机器学习使用算法和实用程序等工具使得机器学习对每个人都可以很轻松。...Java 一次编写,到处运行。 Java被认为是世界最好编程语言之一,过去20年大伙使用证明了这一点。...Kubeflow Kubeflow用于Kubernetes轻松部署和管理机器学习堆栈,提供现成机器学习解决方案。

1.8K20

2017最受欢迎人工智能编程语言:Python第一,R并未上榜

由于函数编程和静态,代码可以轻松地不同CPU执行。行业采用方面,Facebook使用Haskell打击垃圾邮件。 6. JavaScript ?...其通用算法是无架构可以用于开发和训练几乎所有类型一阶和二阶神经网络架构。 Mind:使用矩阵实现来处理训练数据。你可以完全自定义网络拓扑和上传/下载已学习minds。...Prolog性质使得实现事实(facts)和规则(rules)变得简单直接。实际Prolog一切都是事实或规则。允许你查询数据,即使你已具有上述这些事实和规则。...如果你想控制运行时间和性能,C ++显然是一个很好选择。 模板(template)使用更安全,它们提供了更好推广API方法。...Python整体语言设计,低级和高级编程平衡,模块化编程和测试框架使其不同于其他语言。Python另一个优势是快速原型设计。Python中,几乎所有的想法都可以通过30-40行代码快速验证。

2.4K60

【翻译】Rust中尾递归优化故事

诸如Haskell和Lisp家族这类函数式语言,以及逻辑语言(Prolog可能是最著名例子)都强调采用递归方式思考问题。这些语言通过尾调用优化可以性能上获得许多好处。...有趣是,尽管有了最初关于TCO不会在Rust中实现(也是来自最初作者,毫无疑问)悲观预测,时至今日,人们仍然没有放弃尝试rustc中实现TCO。...通过一个启用TCO 尽管如此,许多阻碍TCO相关RFC和提议问题可以在一定程度上得到避免。出现了几个添加TCO到Rust里自制解决方案。...我们先用一个trampoline实现,作为一个缓慢跨平台回退实现,然后依次为每个架构/平台实现更快方法,怎么样? 通过这种方式,该特性可以非常迅速地准备好,以便人们可以使用它进行优雅编程。...rustc未来版本中,这样代码将神奇地变得更快。

1.9K20

Python垃圾回收机制

在这里插入图片描述 内存管理通常分为三个区域 内存管理通常分为三个区域,尽管区别有点模糊: 硬件内存管理 操作系统内存管理 应用程序内存管理 管理内存基本问题是知道什么时候保留包含数据,什么时候丢弃...不幸是,在手动和自动内存管理中,不良内存管理实践可以通过多种方式影响程序健壮性和速度。 自动内存管理是一种服务,可以作为语言一部分或作为扩展,自动回收程序不会使用内存。...自动内存管理缺点是: 内存可能会保留,因为它可以访问,但是不会再次使用; 自动内存管理器(当前)具有有限可用性。 执行内存自动回收方法有很多,回收技术中讨论了其中几种。...大多数现代语言主要使用自动内存管理: BASIC,Dylan,Erlang,Haskell,Java, JavaScript,Lisp,ML,Modula-3, Perl,PostScript,Prolog...在这里插入图片描述 Python Python多种虚拟机上运行着几种实现:原始“ CPython”实现在其自己虚拟机上运行;IronPython公共语言运行运行;Java虚拟机上Jython

67031

6 个新奇编程方式,改变你对编码认知

现在,看看当我们一行引入一个变量并参考它会发生什么: 第一行声明一个“锁存(latch)”(锁存器有点像变量),调用 s包含一个字符串; 第二行将文本赋值 "Hello, World!"...下面是如何声明一个Vector包含无形1,2,3值: 这将创建一个变量l1,类型签名不仅指定Vector是包含Ints,而且指定Vector长度为3.编译器可以使用此信息来捕获错误。...如果您使用Prolog这样声明性语言对数字进行排序 ,则应该描述所需输出:“需要相同值列表,但索引中每个项目 i应小于或等于索引处项目i + 1”。...例如,prolog中简单数独求解器代码,只是列出了解决数独谜题每行,每列和对角线应该是什么样: 以下是数独解算器运行结果: 不幸是,声明式编程语言很容易造成性能瓶颈。...互联网连接是编写代码内在组成部分想法让感到兴奋:几乎就像一个自动完成功能进行谷歌搜索IDE。符号编程模型是否像Wolfram声称那样灵活,而且可以真正利用所有这些数据?

2.3K50

Java:要抢位置?再等“500年”!

据估计,Rust、Dart、Kotlin 或 TypeScript 等任何相对较新语言都暂时不会进入前 20 名。...像是胶水一样灵活,易于拆卸;语法简单,便于理解。 而C语言作为编程语言“爷爷辈”,这么多年开发,业界积累了大量好用代码,类和驱动,本着不重复发明轮子思路,这些资源被很好地继承下来。...并且作为最接近底层高级语言,基础设施开发也离不开可预见未来,java不太会被替代 尽管有时候Java不被看好,然而,在任何编程语言排行榜上,排名依然稳定。...开发者可以使用该榜单检查自身编程技能是否需要更新,或者开始构建新软件时对某一语言做出选择。 广告时间 许多培训机构也会根据编程语言流行趋势以及就业市场岗位需求来制定培训课程。...毕竟要保障就业,不是随随便便几节课就可以做到,除了高质量教学以外,紧跟时代潮流趋势才是最正确做法。

40610

Python有哪些技术优点?比其他语言好在哪儿?

可以从Internet免费获得Python代码。你可以不受限制地复制Python,或将其嵌入你系统或者随产品一起发布。实际,如果你愿意的话,甚至可以销售代码。...运行谷歌安卓系统和苹果iOS系统平板和智能手机 以及更多 除了语言解释器本身以外,Python发行时自带标准和模块实现也都尽可能地考虑到了跨平台移植性。...这些意味着Python程序核心语言和标准可以Linux、Windows和其他带有Python解释器平台上无差别地运行。...尽管如此,编程工具也展示出值得考虑选择和权衡。毕竟,如果Python没有比它竞争者提供更多东西,那么一开始就不会被人们使用了。 ? 我们之前已经介绍过性能上权衡,那么这里重点谈一下功能。...尽管下面列举这些语言也是值得学习和使用有力工具,但人们通常认为Python: 比Tcl强大。Python强有力地支持“大规模编程”,使其适用于开发大型系统,应用程序也更加丰富。

88800

最易学和最难学编程语言Top 5

并指出,该语言容易学习具体表现在: 具有简单结构,带有人类可读开始和结束标签 你可以使用 WYSIWYG 编辑器并在拆分视图中观看代码更改 你可以轻松找到并修复 bug 2、JavaScript...运行情况,并且可以立即查看结果 JavaScript 有一个庞大社区,对入门者有帮助 3、C C 是一种通用语言,大多数程序员在学习更复杂语言之前都会学习。...Springboard 认为很容易学习原因在于: 该语言执着于代码可读性,经常使用英文单词 它以大量使用 whitespace 而闻名,使其不那么令人生畏 它有几个用于各种应用 得到了一个巨大程序员社区支持...难点在于: 具有复杂语法以支持多功能性 是一种宽容语言 —— 你可以做一切技术可能事情,即使逻辑不正确 最好由已经有 C 语言编程基础的人学习 2、Prolog Prolog 是最早逻辑编程语言之一...难点在于: 它是一种非常规语言,数据结构不同于其他编程语言 需要一个不合理 competent compiler 迫使程序员预先认真思考他们逻辑 在线资源和 Prolog 代码不能简单直接地适用于你需求

1.2K20

Python有哪些技术优点?比其他语言好在哪儿?

可以从Internet免费获得Python代码。你可以不受限制地复制Python,或将其嵌入你系统或者随产品一起发布。实际,如果你愿意的话,甚至可以销售代码。...运行谷歌安卓系统和苹果iOS系统平板和智能手机 以及更多 除了语言解释器本身以外,Python发行时自带标准和模块实现也都尽可能地考虑到了跨平台移植性。...这些意味着Python程序核心语言和标准可以Linux、Windows和其他带有Python解释器平台上无差别地运行。...尽管如此,编程工具也展示出值得考虑选择和权衡。毕竟,如果Python没有比它竞争者提供更多东西,那么一开始就不会被人们使用了。 ? 我们之前已经介绍过性能上权衡,那么这里重点谈一下功能。...尽管下面列举这些语言也是值得学习和使用有力工具,但人们通常认为Python: 比Tcl强大。Python强有力地支持“大规模编程”,使其适用于开发大型系统,应用程序也更加丰富。

69120
领券