Permission Errors

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)
     

Operation
operation attempted; Operation exists but is not permitted with Culprit.

Some Operations recognized by the system include:


ObjectType
Culprit's type.
Culprit
name of protected object.
Message
provides such operating-system-specific additional information as may be available. A message of 0 or '' provides no further information.