2010年12月31日

シャープバッククォート

全然分からない。
説明読んだ限りではちょっと便利なのは分かるかもしれないけど、原理とか全然わからない。
難しすぎる。

2010年12月30日

common lispの非nilは真っていう仕様のよさが

なんとなく分かる気がする。
真値の中に関心のある情報を埋め込むことができるってのは理解できるし、できることが素晴らしいなと思える。
こういうことに慣れると、なんともC#とかは不便というか小回りがきかない、融通がきかないなと思ったりしてしまうね。
仕事とかである程度の規模の場合は強い型付けの方が望ましい気はするけどね、いまだに。
まだまだ弱い型付けには染まりきっていないのかも。

lol p.127のdlambdaは

便利だと思うのだけど、使い道も活用方法もわかるのだけど。
引っ掛かるのが、実行時に呼び出す関数をイチイチ分岐させる、しかも実行時にっていうのがどうもひっかかるところなのですが、こういうものなのでしょうかね。
実行時にイチイチこんなことやってたら結構無駄が多いような気がするのですが。
あと、このdlambdaパターンのようにlet over lambdaを実施したい場合は、こうやって実行時に呼び出し先を分岐させるやり方が正しいやりかたなのかがすごく疑問なんだよね。

lol p.108の

tree-leavesマクロは現時点では到底納得できるような代物ではないです。
変数xをこんな使い方してもいいのだろうか。
今までの常識では考えられないですが「アナフォリックマクロ」を学ぶと受け入れられるようになるのでしょうか。
不思議でしょうがない。



と、思っていたらやっぱりこれは不健全らしい。
ただし、不健全でも便利ならいいじゃない、それでいいじゃないとも言ってるけど。
本当にいいのかな?

マクロがあると次元が増えると言う表現は

良い表現ですね。
マクロ難しい。
今までのプログラミングでは使わなかった頭を使うような感じ。
今まで無かった軸に向かって移動する、lolで言及されている梯子の上下移動をしているみたい。
難しい。

リードマクロが全然意味わかりません

読み込み時のマクロってことなんでしょうけどさっぱり理解不能、意味不明。
まったく使い道とか分かりません。
なので、lolの第3章はちょっと飛ばし気味の駆け足でとりあえず終了としました。
今後の課題としておいたほうがいいのか判断つかないですが、とりあえずリードマクロと言うものがあることを知っていることが重要としておいて次に進もうかな。

2010年12月28日

マクロは難しい

Let Over LambdaのP.64まで読んだ。
感想は、先ずOn Lispを読んだほうが良さそうな気がするんですけど。
 だいたい、DEFMACRO-BANGの良さ、というか必要性が全然理解できないのですが。
 once-onlyが重要なのは分かるのだけどDEFMACRO-BANGの使い道まで頭が回らないですね。

動的型付けの特徴なのか、O-BANG-SYMBOLSとかG-BANG-SYMBOLSとかってやり方はあんまり慣れてないから変に感じるのだけど、名前に役割を持たせるこんなやり方が推奨されているのかどうかがちょっと不安ですね。

gensymの役割、存在意義がやっと納得できるようになった、理解できたような気になれました。