2:- use_module(library(debug)).    3:- use_module(library(listing)).    4:- use_module(library(prolog_clause)).    5:- use_module(library(logicmoo_common)).    6
    7
    8%writenl(P):- write(P),nl. 
    9%writeln(P):- write(P),nl. 
   10
   11ticks(Z1):-  statistics(runtime,[Z1,_]).
   12
   13
   14init_gensym(_).
   15
   16prolog_flag(F,Old,New):- ignore(current_prolog_flag(F,Old)),set_prolog_flag(F,New).
   17
   18:- style_check(-singleton).   19/* Emulates the writenl(1) function */
   20
   21
   22  
   23system:clause_w_names(Head,Body,ClauseRef,file=line_of(Line,File),Vs):-   
   24  clause(Head,Body,ClauseRef),
   25  clause(CHead,CBody,ClauseRef),
   26  term_variables(CHead+CBody,LocalVars),
   27  call(((prolog_clause:clause_info(ClauseRef, File, _TermPos, VarRecs,[variable_names(Vs)]) 
   28  -> 
   29  (  must((VarRecs=_,term_variables(Vs,ClauseVars),
   30     ClauseVars = LocalVars))
   31  ) 
   32  ;
   33  (
   34     Vs= [clauseVars=LocalVars]
   35  )))),
   36  must(((_:Head)+Body = CHead+CBody)),
   37  ignore(clause_property(ClauseRef, line_count(Line))),
   38  ignore(clause_property(ClauseRef, file(File))),
   39  dmsg(clause_w_names(Head,Body,ClauseRef,file=line_of(Line,File),Vs))