R 教授による S 大学での講義録。 はじめに かねてから話していたとおり、今回はクワインについて講義する。 そもそもクワインとは何か?自分自身と同一の文字列を出力するプログラムのことである。自己言及のパラドックスに絡めて語られることもあるが、あくまでも、自身の「表現」つまり文字列を出力するだけなので、プログラマの諸君はそれほど混乱することもないだろう。 コンビネータ計算でクワインというと、以前に fumi 氏が記事を書いている。基本的な考え方はそこに書かれている通りである。 まず「関数の表現」を得るために、「関数」を何らかの方法でコード化(符号化)する。この「コード」を入力として「関数の表現」と「コードの表現」を出力できれば、関数(コード)= 関数の表現 ++ コードの表現 ≒ 関数(コード)の表現、となりクワインの完成である。 符号化その1(16161) fumi 氏はチャーチ数のリス