我知道一些Prolog,并经常使用CLP(FD)等。本论文 (写于2006年,显然)表明水星现在也有约束解决。我在图书馆参考手册。中发现了一些提到它的地方,但是我找不到如何使用它。例如:
main(!IO) :-
A >= 2,
A =< 2,
io.write(A, !IO).给出编译器错误
test1.m:011: In clause for `main(di, uo)':
test1.m:011: in argument 1 of call to predicate `int.>='/2:
test1.m:011: mode error: variable `A' has instantiatedness `free',
test1.m:011: expected instantiatedness was `ground'.但在Prolog,与clpfd,
A #>= 2, A #=< 2.工作正常,给A=2。
(将#s添加到水星代码中没有帮助。)
你如何在水星中解决约束问题?
发布于 2020-02-29 08:34:07
那篇论文并没有说你现在可以用水星来解决约束问题,就像在Prolog中一样。它描述了当时添加到水星的特性,以支持在水星中编写约束解决程序,然后使用结果求解器,这是完全不同的。
水星没有,也不会有任何内置的约束解决者。
https://stackoverflow.com/questions/55945082
复制相似问题