2012/08/23
S式の読みやすさ
空き時間ができるとCコードをS式 (cise) にちくちく直しては 「読みやすくなった」と悦に入ってる自分にとっては、 「S式は読みにくいから新しい構文考えようぜ」という議論は出発点からして別世界なのだけれど、 こんなのを見たのでまたちょっと考えてみた。
LisperにとってS式がいちばん読みやすい (そして非Lisperにとって読みにくい) 理由についての 私見は以前書いた。(WiLiKi:Lisp:S式の理由)。
ただ、そこに書いたことが全てではないとも思っている。
というのは、Haskellのコードも読みやすいと感じるからだ。 遅延評価のセマンティクスや抽象化された型の解読で頭を捻ることはまだ多いけれど、 構文で悩むことはあまりない (関数適用の優先順位が高い、ということさえ忘れなければ)。 S式は読みやすいコードの十分条件であっても必要条件ではなさそうだ。
典型的なHaskellのコードがインデントとパターンマッチによって、 「木構造の素直な表現」になっている、という点は重要だ。 ただ、同じインデント構文でもSRFI:49は全く見やすいと思わないので、 木構造であることは必要条件ではあるが十分条件ではなさそうだ。
(インデント構文といえばPythonもそうだが、あれがHaskellほどには読みやすく 思えないのは、副作用がちょくちょく出てくるために木構造として把握できない (制御が根から枝ではなく、上から下になってる) せいかもしれない。)
もうちょい考えてみると、Haskellの読みやすさに大きく貢献しているのは そのコンパクトさであるように思う。 木構造は脳内表現として使う分には良いが、ダンプした場合に、 葉の近くが重くなると根の部分の幅が広がりすぎる(ソースコードでは各子供が 縦に遠く離れる)。頭の中だと自由にズームできるからいいんだけど。
それを防ぐには木を適切な大きさで分解して名前をつけ、「森」にするのが常道だが、 あまり細かく分割しすぎても見通しが悪い。 個々の木に十分な情報量を持たせたまま木の縦幅を一定程度に納めるには、 コードの密度が重要になる。
実は、中置記法の読みやすさというのも、「中置だから」ではなく
密度によるところが大きいんじゃないかと最近思う。
識別子に記号を使えない言語では、記号による演算子と識別子の間に空白をおく必要が無いので
高密度に書ける。
(Unbounded spigot algorithmのHaskell版 comp
とScheme版 lft*lft
の差が顕著)
それだけではなく、式の木の末端を空白なしで書き、 根に近い方で適宜空白を入れることで、木構造を密度の濃淡で表現できる。
(-b + sqrt(b*b-4*a*c)) / (2*a)
Lispでもマクロで中置記法を使えるようにすることは簡単だが、*
や+
などの
記号が識別子の一部にもなり得るので、各トークンの間に空白を置かねばならない。
(- b + sqrt(b * b - 4 * a * c)) / (2 * a)
密度が下がるばかりではなく、密度の濃淡で木構造の表現することも難しくなる。 これが、「Lispで中置記法してもあまり嬉しくない」理由かもしれない。
だから、S式を改良しようというなら、単に括弧を減らして中置記法にするだけではだめで、 コードの密度を上げる&適宜濃淡をつけられる手段を考えなければダメなんじゃなかろうか。
Tags: Programming, Lisp, Haskell
2012/08/23
ピアノレッスン57回目
- Liszt: Transcedental etude #12 Chasse Neige
- 「次の曲何にする?」「まだリストやってないので、何かいいのないですかね。」「そうねえ、じゃあ超絶技巧練習曲でもやってみる?」「ひょえ〜。でもやるなら12番がいいっす。」ってことで始めてはみたけどほんとに弾けるようになるんかな。十六分音符=60という超スローテンポで最初から1/3くらいまで。
- Kapustin: Op40-7, 8
- No.8 は家のピアノだとMM=132でそれなり、138でミスだらけ、という状態なんだが、レッスン室のピアノだと反応が違うので132でもまだ「あれれ?」ってなる。鍵盤のタッチそのものの違いじゃなくて、音の出方の違いの方に戸惑ってる感じではある。安定させれば対応する余裕ができると思うので、もっと細かくひっかかるところを探して障害を取り除く必要がありそうだ。 とはいえ発表会は今週末なので、これ以上速度をあげるよりは安定させるのを優先しよう。
ところで、超絶技巧12番の後半に出てくる突風のような半音階昇降、アルカンの Le vent (Op15-2) にインスピレーションを受けたんじゃないかなあと感じるんだが、どうだろうか。最終的に超絶技巧練習曲集となる、12曲からなる練習曲集をリストは3回出版していて (1826年、1837年、1851年)、第12番のメロディは最初から変わっていないが、半音階的スケールが現れるのは最後の版。アルカンのOp15は1837年なので時系列的にはあり得る。
- アルカンのLe vent
- リストのChasse neige 半音階スケールは2:17くらいから徐々に現れる
Tag: Piano
2012/08/17
ピアノレッスン56回目
LA行きで5日間触らなかったら、感じが戻るまできっかり5日かかった。
- Janáček: 1.X.1905 第2楽章
- まだ暗譜は出来てないが一応通した。中間部後半、勢いを失わずにいきたいんだがクライマックスのところが苦しい。
- Kapustin: Op40-8
- 家ではMM=132〜138で(荒いけど)いけるようになったんだが、ピアノが変わるとぼろぼろ。 響きがかなり違うので戸惑うのだけれど、タッチで調整している余裕が無い。
今度、先生の発表会で子供たちに混じってKapustinを弾くことになった。 人前で弾くのなんていつ以来だろ。とりあえずピアノが変わっても動じないところまで 持ってかないとまずい。
Tag: Piano
2012/08/14
LA
15年前に引っ越してからも何だかんだで2〜3年おきに訪れているLAだが、 そのくらいのインターバルで眺めていると変化が感じられる。
ダウンタウンはずいぶん綺麗になった気がする。 1ブロックが大きくて人があまり歩いてないので殺風景なのは相変わらずだけど。 USCのすぐそばのホテルに泊まったのだけれど、私が住んでた頃はUSC周辺は あまり治安が良くないと言われてたと思う。今回、Figueroa沿いに歩き回る範囲では そんなにヤバい雰囲気は無かったなあ。反対側はわからないけれど。
Metro Railが延びて車無しでも移動できる範囲がそれなりに広がったのも 結構大きな変化だ。今回はExpo Lineをずいぶん使った。 数年前まではLAXに着くとすぐ車を借りていたのだけれど、 ここ数年はメトロが使えるのと駐車料金の高騰で、大抵車無しで過ごしている。 (以前住んでた時も最初の数ヶ月は車無しで、バスやインラインスケートで 移動してたので、無かったらどうにもならないということはないけれど、 東京の便利さには比べるべくもない)。
米国の演劇は秋から春までが1シーズンで夏はあまり活発ではないのだけれど、 LAのEast West Playersで 春にやって人気の高かった作品の再上演をやっていた。 East West Playersは半世紀近い歴史を持つアジア系演劇の中心で、 かつての出演者にはその後映画で 有名になった人も多い。LAに住んでた時はまだ仕事にいっぱいいっぱいで 観る機会が無く、ハワイで芝居を再開してからずっと観てみたいと思ってたのだ。 しかもこの作品、以前ホノルルで一緒に芝居をやってた友人が出演しているので尚更。 芝居自体も見事で、これだけでもLAに行った甲斐があったというものだった。
Tag: 旅
2012/08/08
『Full Dark, No Stars』
「人の心の暗部を描く」って言い回しは良く使われるけど、キングが本気出すとこうなるのか! キングの作品はこれまでも人の心のダークサイドを扱ってきたけれど、 どこかに希望を残す話も多かった。 ここに収められた中短篇5編は容赦がない。本人があとがきで書いているように、 キツい(harsh)話だ。けれどもそこには真実がある。あとがきより:
It [The art of story-fiction] is the way we answer the question, How can such things be? Stories suggest that sometimes---not always, but sometimes--- there's a reason.
本を閉じた後でも、心に何かが刺さってて、考えずにはいられない。
『1922』 - 恐ろしい犯罪の告白。因果が自分に返ってくる、という類型の話を キングはいくつか過去に書いているが、この「取り返しのつかなさ」具合が、 1920年代の米国の田舎の孤独感の描写と合わさって絶望的。 書き出しがまた巧みで、最初のパラグラフを読んだらもう最後まで読まないわけにはいかない。
『Big Driver」 - ストーリーテリングとしては本書中で一番。 前半の描写がキツくてついてゆくのが辛いけれど、後半の展開がすごい。
『Fair Extension』 - 昔のキングの作品がエコーする話だが、 これも容赦ない。人間の心の暗部という点では本書中最も暗い話かも。
『A Good Marriage』 - これだけは読後感にかすかに希望があるかも。 どんなに近くにいてどんなに長く連れ添っても、決して分からない部分というのが 誰の心にもある。でもそれが見えてしまった時にどうすれば良いか。
『Under the Weather』 - ペーパーバック版に追加で収録された短篇。 短篇の妙味(キング曰く「暗闇でのつかの間のキス」)が味わえる作品。 とても悲しい味だけど。
それにしてもキング、もういい歳だというのに、テーマの掘り下げはますます深く、 技法はさらに冴えてきて、限界を広げようとしているのが感じられる。 作り手はそうあるべきだ、と言うのはたやすいが、一生実践するのはたやすいことではない。
Comments (3)