A permission error occurs when an operation is attempted that is among the kinds of operation that the system is in general capable of performing, and among the kinds that you are in general allowed to request, but this particular time it isn't permitted. Usually, the reason for a permission error is that the owner of one of the objects has requested that the object be protected.
An example of this inside Prolog is attempting to change a predicate that
has not been declared :-dynamic
.
File system protection is the main cause of such errors.
The exception code associated with a permission error is
permission_error(Goal, Operation, ObjectType, Culprit, Message)
Some Operations recognized by the system include:
0
-- no operation specified
'find absolute path of'
'get the time stamp of'
'set prompt on'
'use close(filename) on'
abolish
change
check_advice
clauses
access clauses of
close
create
export
flush
load
nospy
nocheck_advice
open
position
read
redefine
save
spy
write
0
or ''
provides no further information.