udi@WISDOM.WEIZMANN.AC.IL (Ehud Shapiro) (01/13/91)
A Prolog program that returns itself (up to renaming):
self((self(_14):-_15)) :- clause(self(_14),_15).
| -? self(X).
X = self((self(_14):-_15)):-clause(self(_14),_15)gosse@gufal02.let.rug.nl (Gosse Bouma) (01/15/91)
Yet another program printing its own code (no variable renaming or
omission of the '.' this time).
slf :- freeze(X,(name(Y,X),write(Y),write(X),write('.'))),
X=[115,108,102,32,58,45,32,102,114,101,101,122,101,40,88,44,40,110,97,109,101,
40,89,44,88,41,44,119,114,105,116,101,40,89,41,44,119,114,105,116,101,40,
88,41,44,119,114,105,116,101,40,39,46,39,41,41,41,44,10,88,61].
Gosse Bouma, Alfa-informatica, RUG, Groningen gosse@let.rug.nl
All we cry, all we contend for, in this world of toil and blood,
is beneath the notice of the hacker we call God. (Th. Pynchon)
--
Gosse Bouma, Alfa-informatica, RUG, Groningen gosse@gufalet.let.rug.nl
All we cry, all we contend for, in this world of toil and blood,
is beneath the notice of the hacker we call God. (Th. Pynchon)