Programming cooperation

Personally I would not call them predicates, I would refer to them as facts.

While Prolog does have an official standard and the standard does include terminology, as the standard is copyright it can not be handed out freely for those of us that have a copy. However in answering certain questions such as you ask, this StackOverflow answer includes the related terminology.

The definition I go with for Prolog fact most of the time is that it is a clause with only a head and the parameters are all ground.

That is what I would expect.


My current favorite technique for understanding code methods/functions/predicates is to download Git repositories that contain code I trust to be done correctly. All of the repositories are kept in a separate directory with a name like SWI-Prolog (Reference code for searching) and then using a command line tool such as grep or an IDE with a good search engine and visual summary such as NotePad++ I search for the method/function/predicate name and then look at the results.

Here is a list of Git Repositories containing Prolog code that you can trust will be done correctly.

My current set in `SWI-Prolog (Reference code for searching)` (Click triangle to expand)

Beekeeper-66d7712ab5e457471d890c109ff78e1745e2a8e0
bench-master
bornhackgame-main
ClioPatria-master
clpqr-examples-master
contrib-protobufs-master
docker-swipl-linux-ci-master
ecCausaSnipper-master
LudumDare-master
LudumDare48-66de13f79e278dd7cd361db20328e227d24e56a4
packages-archive-master
packages-bdb-master
packages-chr-master
packages-clib-master
packages-clpqr-master
packages-cppproxy-master
packages-cql-master
packages-http-master
packages-inclpr-master
packages-jpl-master
packages-ltx2htm-master
packages-mqi-master
packages-odbc-master
packages-pcre-master
packages-pengines-master
packages-pldoc-master
packages-plunit-master
packages-prosqlite-master
packages-RDF-master
packages-real-master
packages-redis-master
packages-semweb-master
packages-sgml-master
packages-ssl-master
packages-utf8proc-master
packages-windows-master
packages-xpce-master
packages-yaml-master
packages-zlib-master
pengines-master
plweb-blog-master
plweb-examples-master
plweb-master
plweb-www-master
prolog-f28911d86e82b29c52078a2da498c82d39a0b07e
prolog-ludumdare44-6d6e3974d2f49c9ada2dfaff2929d3712b9a3c72
rclswi-master
sCASP-swipl
swipl-devel-master
swipl-master
swipl-server-js-client-master
swiplwebtut-master
swish-master
transhavengame-eb2b92a98e2274111fce4699f554554227dcf312
webstat-master