Hatena::Groupcadr

わだばLisperになる このページをアンテナに追加 RSSフィード

2004 | 12 |
2005 | 01 | 02 | 07 | 10 | 11 |
2006 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 11 |

2008-03-13

CLで学ぶ「プログラミングGauche」 (1)

| 02:32 | CLで学ぶ「プログラミングGauche」 (1) - わだばLisperになる を含むブックマーク はてなブックマーク - CLで学ぶ「プログラミングGauche」 (1) - わだばLisperになる

以前から私は、「プログラミングGauche」が出版された暁にはCommon Lispで内容をさらってみようと思っていました。

この書物はLisp系を実用的に使用するに当って現状で直面するであろう様々な問題に実際に取り組んできたGaucheという言語を使って、実際的なプログラミングを紹介している本というわけで、Common Lispにこの内容が活きない訳はないと思ったからなのですが、実際にぱらぱらと内容を確認してみても、自分のようなLISP初心者が知りたいと思うようなことが程よく纏められているので、順を追って実習して行けば、一通りのことはできるようになるんじゃないかと思いました。

問題は、これが全部CLで実習できるかどうかということですが、Perl互換の正規表現パッケージから継続ベースのウェブサーバまで、一通り似たようなものはあるので、あれこれ代用品を探しつつ実習すれば可能じゃないかと思っています。

  • なぜCommon Lispなのか。

ちなみに、「なぜGaucheではなくてCommon Lispなのか」は自分でも良く分かっていません。

自分は、レトロコンピューティングが好きということもあり、連綿と続くLISPの流れからすると、CLの方が本流に近いから好きというのはあるかもしれません。

それで、自分が考える「連綿と続くLISPの流れ」の印象なんですが、「なんだか適当なんだなあ」です(笑)

また、自分は、リスト操作言語が好きなようなのですが、リスト操作言語として比較すると、CLの方がその性格がちょっと強く出ている気がします。Schemeはリスト操作言語がベースになってはいますが、他に色々目玉があるので、そこに焦点は当てられていないというか、そこを目当てに使ってる人は割と少ないんじゃないかなあと、勝手に想像しています。

リスト操作言語的特徴ってなんなんだ、ということになってしまうかと思いますが、リストでなんでも考えようという所というか、なんというか。

リスト操作で物事を解決するというのも結構美しいと思うのですが、一般的にはどうなのでしょう。

自分は、結構Guy Steel氏の講演Error 404 (Not Found)!!1を見てLISPのこういう面に感銘を覚えました。

また、Arcも原点回帰なのか、元々Paul Graham氏がそういうのが好きなのか分かりませんが、リスト処理的面が強い気がしています。

なんとなく、「S式」、「リスト操作」、「伝統的マクロ」、「適当」の組み合わせが好きな人は、SchemeよりはCLの方が好みなんじゃないかなあ、と想像します。

それはそれで良いとして、とりあえず、1章から

LispとScheme

この章は基礎知識的なところなので、SchemeをCommon Lispに置き換えても別に違いはなく、S式ベースの言語なら大体共通しているかと思います。

という感じで、まったり進めて行きたいと思っています。

Gaucheを知ってる人が読んで、簡単に同じことをCommon Lispでも試して遊べるような、そういうお手軽情報になるという方向も同時に目指しています。