Я пытался понять, как создать серию значений из предиката Prolog при обратном отслеживании. Встроенный предикат between/3
будет генерировать все целые числа в диапазоне по одному на обратном пути, поэтому пример того, как это написано, может помочь мне с моей задачей.
Я искал реализацию в существующей системе Prolog, но реализация between/3
для GNU Prolog - это функция C, и трюк заключается в том, что она вызывает другую функцию C "Pl_Create_Choice_Point", которая позволяет ей создавать дополнительные значения на отступлении.