For example, the code
asserta(done)@world is the same as
asserta(world:done). Unlike in
is resolved in the current module rather than the module
world. This makes no difference for system predicates, but
usually does make a difference for user predicates.
Not that SWI-Prolog does not define
@ as an operator.
Some systems define this construct using
op(900, xfx, @).