我一直在尝试理解如何通过Prolog谓词回溯生成一系列值。内置的谓词
我寻找了现有Prolog系统中的实现,但GNU Prolog的
between/3
会在回溯时逐个生成范围内的所有整数,因此一个实现该谓词的示例可能对我有所帮助。我寻找了现有Prolog系统中的实现,但GNU Prolog的
between/3
实现是一个C函数,其中的技巧在于它调用另一个C函数"Pl_Create_Choice_Point",从而允许它在回溯时生成附加值。