title: Prolog - ASSERT and RETRACT
body: <p>I was wondering, I am aware you can use <code>assert</code> to add facts or rules or whatever if you have declared the predicate to be <code>-:dynamic</code>, but this only allows the changes that are made to be kept in that session only, e.g. if you close the Prolog window then the database changes are lost. </p>
  
  <p>So I was wondering, is there any way of making it so that the <code>assert</code> and <code>retract</code> predicates can make permanent changes to the Prolog .pl file?</p>
  
  <p>Thanks</p>