To change a static procedure to a dynamic one it must first be abolished.
If the procedure was already dynamic Error 64 is raised. The default error handler erases all existing clauses and succeeds. This is useful for recompiling files with dynamic declarations, but it can be redefined if desired.
Success: [eclipse]: pred(a/1). no. [eclipse]: dynamic a/1. yes. [eclipse]: pred(a/1). in eclipse: dynamic prolog local debugged stopped traceable yes. [eclipse]: a(X). no (more) solution. Error: dynamic X. (Error 4). dynamic a. (Error 5). dynamic a/1, a/1. (Error 64). % succeeds get_flag(p/0,type,user), dynamic p/0. (Error 65).