Re: [stack] quines

sa@dfa.com — 2001-08-07 19:55:01

actually, it's even simpler - i don't need i at all:

    ()E/quine
(`dup `cons
 `dup
 `cons)

i.e. start evaluating on the empty stack (), and successively
feed pieces of quine.  this is obvious if i replace / with \,
which returns successive states of the stack as a list:

    ()E\quine
(()               / initial
 ,`dup `cons      / push program
 (`dup `cons      / apply dup
  `dup `cons)
 (`dup `cons      / apply cons
  `dup
  `cons))