PLOGHELP USER_PREDICATE Robert Duncan, February 1988 :- op(254, fx, user_predicate). ?- user_predicate PredicateSpec. Declares all the predicates identified by PredicateSpec to be "user" predicates. PredicateSpec must be a conjunction of simple specifications of the form Fn/Arity where Fn is an atom (the functor name of the predicate) and Arity an integer (its arity). For example, the directive: :- user_predicate static_env/3, route/2. declares the two predicates static_env/3 and route/2 to be user predicates. To be effective, the declaration must come before the definitions of the specified predicates. User predicates are always redefinable, in contrast to system predicates which are constant and cannot be changed. By default, any predicate defined by the user is automatically a user predicate so that this declaration is normally unnecessary. It is possible however to change the default so that predicates are compiled as system predicates unless this declaration is used to indicate otherwise. A fuller discussion of this topic can be found in PLOGHELP * SYSTEM_PREDICATE. --- C.all/plog/help/user_predicate ------------------------------------- --- Copyright University of Sussex 1988. All rights reserved. ----------