% Author: Markus Triska (triska@gmx.at) % Date: Sept. 17th 2005 prog("% This string contains everything starting from here.\n\nquine :-\n\tformat(\"% Author: Markus Triska (triska@gmx.at)\\n\"),\n\tformat(\"% Date: Sept. 17th 2005\\n\"),\n\tformat(\"prog([\"),\n\tprog(Ps),\n\tmy_write(Ps),\n\tformat(\"]).\"),\n\tformat(Ps),\n\thalt.\n\nmy_write([P|Ps]) :-\n\twrite(P),\n\tmy_write_(Ps).\n\nmy_write_([]).\nmy_write_([P|Ps]) :-\n\tformat(\",\"),\n\twrite(P),\n\tmy_write_(Ps).\n\n").% This string contains everything starting from here. quine :- format("% Author: Markus Triska (triska@gmx.at)\n"), format("% Date: Sept. 17th 2005\n"), format("prog(["), prog(Ps), my_write(Ps), format("])."), format(Ps), halt. my_write([P|Ps]) :- write(P), my_write_(Ps). my_write_([]). my_write_([P|Ps]) :- format(","), write(P), my_write_(Ps).