Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!uunet!ora!bloom-beacon!dont-send-mail-to-path-lines From: STCS8004%IRUCCVAX.UCC.IE@mitvma.mit.EDU Newsgroups: comp.lang.scheme Subject: Kleene puzzle Message-ID: <9104100752.aa25783@mc.lcs.mit.edu> Date: 10 Apr 91 12:41:00 GMT Sender: daemon@athena.mit.edu (Mr Background) Organization: The Internet Lines: 22 A few news-letters back the following problem was posted: What is the shortest program that writes itself to the output port. The value of the program is not of concern, only the side-effect of the output. I regret that I have lost reference to the original question and the solutions proposed, but if my memory serves me correctly the solutions involved the use of let statements. I believe the following program is shorter than those previously proposed both in terms of symbols and cons operations: ((lambda (x) (write `(,x ',x))) '(lambda (x) (write `(,x ',x)))) This is simply the 'write' version the shorter self-evaluating program ((lambda (x) `(,x ',x)) '(lambda (x) `(,x ',x))). G. Oulsnam stcs8004@iruccvax.ucc.hea.ie