Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!bloom-beacon!RIVERSIDE.SCRC.SYMBOLICS.COM!stever From: stever@RIVERSIDE.SCRC.SYMBOLICS.COM Newsgroups: comp.lang.scheme Subject: self reproducing code Message-ID: <19881007210401.2.LISP-MACHINE@HALEAKALA.S4CC.Symbolics.COM> Date: 7 Oct 88 21:04:00 GMT References: <8810071930.AA25143@car.utah.edu> Sender: daemon@bloom-beacon.MIT.EDU Organization: The Internet Lines: 22 Date: Fri, 7 Oct 88 13:30:30 MDT From: carr%car@cs.utah.edu (Harold Carr) It was an anonymous lambda application which, when evaluated in Common Lisp, would return the exact same for, which could then be evaluated again, always returning the same anonymous application. ((LAMBDA (TEMPLATE) (SETF (SECOND (SECOND TEMPLATE)) (COPY-TREE TEMPLATE)) TEMPLATE) '((LAMBDA (TEMPLATE) (SETF (SECOND (SECOND TEMPLATE)) (COPY-TREE TEMPLATE)) TEMPLATE) (QUOTE *PLACEHOLDER*))) This will work. I'm pretty sure there's a more elegant way to do it. If anyone send you one, I'd appreciate a copy. Thanks, Stephen