Нередко можно увидеть данные в Прологе, написанные с помощью функтора, например
note("This is a note")
но Prolog также может обрабатывать данные с именем, перемещенным в аргумент, например,
(note,"This is a note")
При перемещении имени данных из функтора в аргумент, используется ли имя для описания этого процесса?
У меня есть код, который преобразует данные как таковые, и хотел бы включить в документацию стандартное имя, чтобы описать это изменение, если оно существует.
EDIT
В настоящее время конкретная причина для этого заключается в том, что мне не нужно использовать = .. / 2 , а также можно выполнить сравнение многих данных с анонимной переменной, например,
(_,A,B,C)
или написать более общие предикаты, например,
do(_)
do(_,A)
do(_,A,B)
вместо
do(note(A))
do(note(A,B))
do(note(A,B,C))
do(comment(A))
do(comment(A,B))
do(comment(A,B,C))
do(text(A))
do(text(A,B))
do(text(A,B,C))
EDIT
Ниже приведен комментарий @repeat с причинами не делать то, что продемонстрировано в этом вопросе, путем изменения составного термина note(A,B)
в список запятых (A,B)
, в отличие от обычного списка [A,B]
. Это хороший совет, но иногда есть причины нарушить этот совет. В настоящее время я не могу сказать, что мне нужно для этого, если одним из таких случаев является выполнение этого в Прологе, но, как задается вопрос, было бы неплохо иметь имя для процесса, чтобы его можно было искать для исследования.
@ repeat Вы можете отредактировать это и добавить примечания, поскольку это все Creative Commons.