基本の Quine

Quine とは「実行したプログラムそのものを出力するプログラム」のことです。これを書くことはプログラマの伝統的な遊びの一つと言われています。

今日、人生初の Quine を書きました。

;; その 1
((lambda (x) (print `(,x ',x))) '(lambda (x) (print `(,x ',x))))
;; その 2
(let1 x "(let1 x ~s (format #t x x))~%" (format #t x x))

ちょっと感動。今更初 Quine ってプログラマとしてどうなの?って感じではあるけど。