Prolog Noob: Библиотека программирования ограничений или проблема с синтаксисом в SWI-Prolog

Я просто пытаюсь понять программирование ограничений в SWI-Prolog, просматривая это руководство: http://en.wikibooks.org / wiki / Prolog / Constraint_Logic_Programming

Однако, похоже, я падаю на первом препятствии.

?- use_module(library(clpfd)).
true.

?- X #> Y, X in 1..3, Y=2.
ERROR: Syntax error: Operator expected
ERROR: X 
ERROR: ** here **
ERROR: #> Y, X in 1..3, Y=2 . 
?- 

Что здесь не так? Кажется, я включил библиотеку, но первая строка примера из учебника выдает синтаксическую ошибку.

Все учебники, которые я могу найти, похоже, используют такие операторы, как # =, #

Или я неправильно читаю учебные примеры?

Обновление: пытаюсь понять вещи из ответа Хорша ниже. Я могу заставить это работать, если использую библиотеку и запускаю строку в интерактивном терминале. Но если я попытаюсь импортировать библиотеку и использовать эти операторы в исходном файле, это снова вызовет ошибку. Что я не понимаю?

Обновление 2:

ОК. Если в исходном файле я вызываю библиотеку, а затем пишу правило, содержащее знак #>. Затем я пытаюсь проконсультироваться с ним из командной строки. Это вызовет ошибку, а синтаксис #> не распознан. Если импортировать библиотеку в командную строку до того, как попытается обратиться к программе, она будет работать. Это может быть правильно?

10
задан false 29 April 2015 в 18:47
поделиться