2008-04-05 プログラミング Gauch - 17 章 Gauche 今週は少しサボってしまい、ようやく半分到達というところです。学習が進むにつれて、Ruby が Matz Lisp などと言われる理由が解ってきたような気がします。 ! ? といった命名ルール 手続きを渡す手続き(コードブロック、lambda) メタクラス などなど、Ruby が Lisp から取り入れたのかと思える*1共通点が見えてきました。準クオートは #{} の式埋め込みと同じようですし、call-with-input-file 手続きなどは Ruby の open メソッドにブロックを渡したときと同じように振る舞いますね。Ruby だけを学習していた時には意味が解らなかったけれど、Gauche を学習することで納得できた部分も。 *1:Gauche しか知らないので、一般的な Lisp は違うのかもしれない