Subject: [Fwd: abolish/1 in 3.3.0]

From: Paul Singleton <[email-masked]>
Date: Tue, 18 Jan 2000 20:22:33 +0000

Paulo Moura wrote:

> Paul Singleton wrote:

> > I'm puzzled by the following, which didn't happen in 3.2.8:
> >
> >   ?- abolish( qp_vno_to_builtins_lib/2).
> >   ERROR: No permission to modify static_procedure
> > `qp_vno_to_builtins_lib/2'
> >
> >   ?- listing(qp_vno_to_builtins_lib).
> >   ERROR: No permission to access private_procedure
> > `qp_vno_to_builtins_lib/2'
> >
> >   ?- predicate_property( qp_vno_to_builtins_lib(_,_), P).
> >   P = interpreted ;
> >   P = indexed(qp_vno_to_builtins_lib(1, 0)) ;
> >   P = file('d:/pcm/bin/pcm_2000/54.pl') ;
> >   P = line_count(22394) ;
> >   P = hashed(4) ;
> >   P = number_of_clauses(7) ;
> >   No
> >   ?-
> >
> > I don't need to do 'listing' but I really need to be able to
> > abolish interpreted procedures.  Can anyone shed any light on
> > this?

> Including the following directive in your source file will solve the problem:
> 
>         :- dynamic(qp_vno_to_builtins_lib/2).

Yes, but this is not a dynamic procedure, it's just a regular
consulted procedure, and I want to abolish it!

Paul Singleton