call/n
a apply/2. Proto jsem implementoval vlastní predikát
:-@/1, který je dokáže nahradit a využívá výhradně standardních
prostředků jazyka Prolog:
?- :-@ [mod(23), 7, X]. X = 2 Yes
:-@/1. Výhodou tohoto řešení je, že
knihovnu je možné použít kdekoli a navíc, pokud obsahuje daný interpret
jazyka Prolog podporu pro programování vyššího řádu, například ve
formě výše zmíněných primitiv call/n či apply/2,
si lze z nich vybrat to, které je zde efektivnější a implementovat
pomocí něj :-@/1. Tak je možné původně obecnou knihovnu snadno
ušít na míru danému interpretu. Takové optimalizované verze jsou
připraveny pro implementace BinProlog a SWI Prolog.
Predikát :-@/1 je definován také jako prefixní operátor, což
zjednodušuje jeho používání.