问题标签 [logic-programming]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
699 浏览

type-systems - 什么类型的系统可以防止逻辑语言中的目标暂停?

咖喱教程的第 3.13.3 节:


剩余的操作称为刚性操作,而狭窄的操作称为灵活操作。所有定义的操作都是灵活的,而大多数原始操作,如算术操作,都是刚性的,因为猜测对它们来说不是一个合理的选择。例如,前奏定义了一个列表连接操作,如下所示:

由于操作“++”是灵活的,我们可以使用它来搜索满足特定属性的列表:

另一方面,像加法“+”这样的预定义算术运算是刚性的。因此,使用逻辑变量作为参数调用“+”会失败:


库里似乎并没有提防写将被暂停的目标。什么类型的系统可以提前检测目标是否将被暂停?

0 投票
6 回答
5177 浏览

programming-languages - 用于逻辑编程的编程语言比 Prolog 更新

有没有比 Prolog 专门用于逻辑编程的新语言?

0 投票
1 回答
2500 浏览

prolog - Prolog Nim 游戏 - 超出本地堆栈错误

我最近一直在做一些Prolog。我读过序言的艺术这本书。他们在那里有一个 Nim 游戏实现。所以我将它重写为 SWI-Prolog,除了这个 Out of local stack 错误之外,一切似乎都很好。调试后我发现它似乎在程序的这一部分永远循环:

有人遇到过这种问题吗?对一些替代实施有什么建议吗?

0 投票
0 回答
383 浏览

algorithm - 寻求反向链接算法的参考

我正在寻找通过反向链接进行推理的算法的精确描述。每当我搜索时,我只会找到从 Russell 和 Norvig 中提取的标准示例,没有对算法的正式描述。

0 投票
5 回答
1261 浏览

prolog - Prolog 的酷炫、可视化的使用

我将只为几乎没有编程经验的学生教授一堂关于基本 Prolog 的讲座。我希望他们看到编程和 Prolog 可以在现实世界中使用,甚至可以用来做一些很酷的事情。

我已经查看了这个这个线程,但是我找不到任何视觉上吸引人的东西,我可以在我们结束讲座时展示它们。

你对使用 Prolog 的酷应用有什么建议吗?我特别在寻找可以显示为视频或幻灯片的东西。

0 投票
7 回答
1159 浏览

programming-languages - 非 Prolog 逻辑编程

有没有好的非 Prolog 或基于 Prolog 的逻辑编程语言?

谁有这方面的经验或有什么好的经验?

0 投票
3 回答
357 浏览

unification - 水星中的 ":=" 和 "=>"

我最近在 Mercury 中遇到了这个代码示例:

= 作为一名 Prolog 程序员,我想知道:正常的统一和这里使用的:=or有什么区别?=>

Mercury 参考文献中,这些运算符获得不同的优先级,但它们没有解释差异。

0 投票
1 回答
367 浏览

functional-programming - 函数返回“No Solution”而不是“Nothing”

我有一个表示谓词逻辑公式的标准数据类型。表示析取的自然演绎消除规则的函数可能如下所示:

当统一失败时,该函数不会评估为 Nothing,而是在 中不返回任何解决方案PACKS

我错过了什么,为什么在统一失败时不el评估?Nothing

0 投票
3 回答
373 浏览

programming-languages - Erlang 中非短路布尔运算符的用途是什么?

我正在通过 LearnYouSomeErlang 网络书学习 Erlang。学习时让我印象深刻的一件事是非短路布尔连接和析取运算符,即;andor。这些运算符的用例是什么?为什么要使用它们而不是andalsoand orelse

0 投票
0 回答
505 浏览

haskell - 整个 Haskell 会成为 Curry 的一部分吗?

我在维基百科上找到了咖喱。它说库里几乎是一个超集,但不是因为缺少什么。

我希望看到它支持整个 Haskell。他们是否计划将 Haskell 作为 Curry 的一部分实施?