Search code examples
memoryprologresetprolog-assert

Prolog - how to clear the memory and start from scratch?


I'm developing an algorithm in a .pl file, and examining it with queries on the command window. I use dynamic variables and retract/assert predicates. And when I modify the pl file and click on "reload modified files", I have extra facts that I don't want.

for example, in the beginning I have counter(0).

and I do something, retract&assert this counter, it becomes counter(7). Then, when I reload the modified pl file, I have both counter(0). and counter(7).

How can I prevent this and only have counter(0). in the beginning?

Thanks in advance.


Solution

  • Insert

    :- abolish(counter/1).
    

    at the start of your file. When you'll be done testing, remove it.