blog/content/post/2008-03-23-00000859.md

4.9 KiB
Raw Blame History

title author date url wordtwit_post_info categories
『プログラミングGauche』を購入 kazu634 2008-03-23 /2008/03/23/_924/
O:8:"stdClass":13:{s:6:"manual";b:0;s:11:"tweet_times";i:1;s:5:"delay";i:0;s:7:"enabled";i:1;s:10:"separation";s:2:"60";s:7:"version";s:3:"3.7";s:14:"tweet_template";b:0;s:6:"status";i:2;s:6:"result";a:0:{}s:13:"tweet_counter";i:2;s:13:"tweet_log_ids";a:1:{i:0;i:3865;}s:9:"hash_tags";a:0:{}s:8:"accounts";a:1:{i:0;s:7:"kazu634";}}
Lisp
Programming

 とりあえず自分が知っているプログラミング言語とはパラダイムが全然違うことを痛感させられる。5章ぐらいまでざーっと流して読んでみただけだけど、気になったのは

  • 変数を束縛(セット?)するのも、手続きや関数を定義するのもすべて define を用いる。
  • Scheme には予約語がない。どの名前でもユーザーが再定義できる。

二つ目については次のような説明が続いていた。

再定義が可能だからといって、 define や lambda といった重要な名前をむやみに再定義すると大変なことになります。それが重大な結果を招くとわかった上で再定義することを Scheme の言語仕様は妨げません。すべてユーザーの自由に委ねられています。

そうかー。そうなんだね。*1

 とりあえずこいつを一通り目を通して実際に動かしてみてから、『On Lisp』を経由して、『計算機プログラムの構造と解釈』へとつなげていこうと思う。

プログラミングGauche

プログラミングGauche

*1Arc の翻訳でもそれらしいこと書いていたけれど、あらためて事実を確認させられたぜよ