2015年5月26日

lispの括弧の扱いについて

って言うか、演算子の優先順位とかブロックとかでどっちにしても括弧が必要になるから別に最初から括弧だらけのLispでいいんじゃね
と思いますが、こう思うようになったら重症なんだろうな

だってさ例えば
ある変数が10 < a < 15の範囲にあるかどうか判定する場合とかだと
if ((a < 15) && (10 < a)){
文ブロック
}
else {
}
ってなコードになる訳でさだったら
(if (and (< a 15) (< 10 a)))
って言うのでも別に全然違いがないと言うかそう大きな違いが無いと思うのだけど
lispと言えばとにかく括弧と言う印象をもたれがちですけど、この括弧の扱いが逆にマクロとかで生きてくるんだけどな
逆に括弧で成り立っているからこその良い側面があるのだけど
と言い出したら「ああ、こいつはいわゆるlisperだから相手にすると大変なことになるからかかわらないでおこうと」と思われるのだろうな