クワイン(英: Quine)は、コンピュータプログラムにおけるメタプログラミングの一形態であり、自身の完全なソースコードだけを出力するプログラムである。だそうです。
quine というものを初めて目にしたのはこれでした。
((lambda (x) `(,x ',x)) `(lambda (x) `(,x ',x)))
* (let ((let '`(let ((let ',let)) ,let))) `(let ((let ',let)) ,let)) (LET ((LET '`(LET ((LET ',LET)) ,LET))) `(LET ((LET ',LET)) ,LET))
この方のプロフィール欄とか。
((lambda (lambda) `((lambda (lambda) ,lambda) ',lambda)) '`((lambda (lambda) ,lambda) ',lambda))
検索してみたらこんなページがありました。
(call/cc (lambda (c) (call/cc (lambda (cc) (c ((lambda (c) `(call/cc (lambda (c) (call/cc (lambda (cc) (c (,c ',c))))))) '(lambda (c) `(call/cc (lambda (c) (call/cc (lambda (cc) (c (,c ',c)))))))))))))
((lambda (x) `(,(reverse x) ',x)) '(`(,(reverse x) ',x) (x) lambda))
ハンパねぇ!
まぁ、だからどうということではないのですが。。
0 件のコメント:
コメントを投稿