Island Life

2012/09/06

ピアノレッスン59回目

  • Liszt: Chasse-Neige
    • 進度は37小節目までで変わらないが、八分音符=50で取れるようになったので 5連符/6連符のところはそれなりに流れるようになった。だがまだ左の半音階進行と 右のトレモロを合わせるのができない。
  • Ravel: Menuet sur le nom d'Haydn
    • Lisztばっかりは飽きるから何か軽いのを、ということでこれを持っていってみた。 昔ちょっと弾いてみたことはあったけどきちんと仕上げてはいなかったので。
    • 中間部最後の部分、左手の半音階上昇と右手のメロディが共に際立つように。

Tag: Piano

2012/09/03

ピアノレッスン58回目

忙しくて書き忘れてた。

  • Liszt: Chasse-Neige
    • あまりすすまなかった。16分音符=60で37小節目まで。右手と左手の掛け合いになるところ、 減7の和音がシフトしてってるだけなんだが、どの音を押さえるかをまだ頭で考えないとならない。 ただこの部分は8分音符の5分割があるので16分音符でメトロノームを使うのが難しい。 さっさと覚えて、8分音符で拍をとれるようにしないと。

Lisztばかりやるのも何なので、もうひとつ軽めの曲を並行してやったら、というアドバイス。 何にしようかな。

Tag: Piano

2012/09/01

再定義のセマンティクス

時の羅針盤@blog: exportされた変数

これコンパイルエラーにした方がいろいろ嬉しいのだが、それをやると非常に不便になる。以下が不便になる例。

(library (test)
    (export variable)
    (import (rnrs))
  (define variable 1)
  )
(library (test2)
    (export variable)
    (import (rnrs) (test))
  (define variable 'hoge) ; ここ
  (define (aa) (set! variable 2))
  )

R6RSやR7RS的にはコメントで示している部分はエラーにならないといけないんだけど、それやるとSRFIとかでガチンコでぶつかっている手続きがエラーになる。(removeとか、振る舞いまで違うから再定義せざるを得ない)。

まあR6RS的には、test2で (import (except (test) variable)) と書きなさいってことなんだけど、それはなぜか、というと、「importは何をしているのか」 という話になる。

R6RSのimportでは「識別子」というモノがあって、importはそれを 現在の名前空間に持ってくる。test2でtestをそのままimportしたら、 test2内でvariableという名前が意味するモノは、 testが意味するモノとまったく同じモノだ。

そして、Scheme世界全体として見た時に、 (単一フェーズで)おなじ「モノ」が二つの意味を持ってはいけない。

上の例で言えば、 (library (test3) (import (rnrs) (test)) variable) とした時に、 これはいくつになるべきか、という話になる。 このvariableが指す「モノ」はtestで定義されたvariableの指すモノと同じで、 それはtest2にもimportされてるからtest2でのvariableが指すモノとも同じでなければならない。 つまり、test3がtest2を参照してなかろうが、test2が実行された時点で 前文の「モノ」は全て同時に再定義されることになる。

Common Lispではシンボルが上述の「モノ」の役割を担っていて、 しかも再定義が許されているので、test2を実行(ロード)した段階でvariableの意味が変わる。 testしかimportしていないtest3にとっては、 test2のロード前と後でvariableの値が変わるように見える。

一方、Gaucheでは、importは可視性をコントロールする。importしても、 現在の名前空間に何かが「持ち込まれる」ということはない。 単に、「名前を解決する時に探す場所」が付加されるだけだ。 このセマンティクスでは、test2の中でvariableを定義すると、 それはモジュールtest2内に束縛を追加し、test1内の束縛をシャドウする。 (つまり、独立した定義の追加であって再定義ではない)。 この場合、test3から見えるvariableは依然としてtest1のものなので、 その値は変わらない。

実用上、これは大抵の場面で期待した動作をしてくれる。 例えばライブラリが刻々と拡張されてゆく場合、次のような状況が起き得る。

  • mylibraryがyourlibraryをimport
  • mylibraryでfooを定義
  • yourlibaryの新バージョンがfooを定義してexport

R6RSセマンティクスでは、yourlibraryの新バージョンを使う時に mylibraryのimport節を (import (except (yourlibrary) foo)) に 書き直さなければならない。

R6RS的には、新たな識別子がexportされるっていうのはAPIの変更なんだから それを使ってるモジュールに影響が出るのは当然って立場で、 それはそれで筋が通ってはいる。R6RSの世界観っていうのは「一貫した静的な世界が まずあって、変更はイレギュラーな要因」なんだよな。

Gaucheは「世界とは刻々変わってゆくもので、 一貫性はもともと部分的にしか保証できないが、 「ここまではだいたい保証できる」って範囲をできるだけ明らかにしとこう」って立場。

(ただまあ、R6RSでも「importしてる識別子を再定義したら自動的にexceptされたことにする」ってのは不可能ではない。R6RS制定時に何かそういう議論があったような気もする。 libraryフォームはマクロ展開前に解釈されなくちゃならなくて、defineされてるかどうかは マクロ展開後にしかわからないから、ちゃんとした意味を決めるのはひどく面倒になるが、 マクロ展開後にimportが差し替えられるとみなす、とか妥協すれば実装は可能だ。)

Tags: Programming, Gauche, Scheme, CommonLisp

2012/08/27

らむ太と小学校

今日から小学校。早いものだ。

小学校に上がったといっても、プリスクール、キンダーとお世話になってる学校の Elementaryに上がるだけだし、サマースクールで同じ教室に 通っていたので、本人には区切りという自覚はなさげ。入学式も無いし。 「夏の間会えなかったKindergarten時代の友達に会えるのが楽しみ」程度の感覚っぽい。

ただ、親の観点からすると、日本で自分が受けた初等教育とはだいぶ勝手が違って 興味深い。Montessori教育の学校なんで、公立小学校ともまた違うと思うが。

  • 1年生7人、2年生6人、3年生6人の学年混成クラス。これに先生が2人つく。
  • 週の最初に自分で学習目標を立てて(goal setting)、 independent workの時間に自分でやることを選んで進めて、 金曜日にレポートする。
  • コマで区切られた「時間割」は無く、学校生活の主要な部分を占めるのは ひと続きの自主課題時間 (午前に2時間25分、午後55分)。 他にCreative Writing(15分)やStory time(15分)、Silent reading(30分)の 時間が毎日設けられてる。あと午前中に一回、おやつタイムがある。 午後にはスペイン語、体育、音楽、科学、アートのクラスもある。
  • 宿題は毎週金曜日に出て、次の金曜日に持ってゆく。4回分の課題になってるので 親と話し合って計画を立てて実行する。もっとも最初のうちはごく簡単なアルファベットの 書き取りとか読書とかで、内容よりは習慣づけるのが重要ってことらしい。
  • 教科書は無いし、文房具も学校の個人用棚に置いておくので基本的に 持ってくのは弁当とおやつ、宿題やお知らせの書類のみ。 「小学校だから」と本人が張り切ってちょっと大きめのバッグを買ったんだけど、 意味なかったかも。まあ、学校で本を借りたりできるし、 何か発表する時は資料を持ってくこともあるだろう。

自分も学校ではほとんど授業を聞かず好きなことをやってた覚えがあるが、 らむ太も人のいうことを聞かずやりたいことをやる、という性格なので、 やりたいことをやるためには何が必要なのか、 を早めに学んでくれたら本人にとって色々生きやすいだろうなと思うけれど、 まあ親が思うように子は育たないのでどうなることやら。

Tags: 生活, 教育

2012/08/26

発表会、観客

今レッスンを受けている先生のちょっとした発表会があって、子供たちに混ざって弾いてきた。 曲目はKapustin Op.40の7番と8番。

本番はかなり意識飛び気味で、細かいミスはたくさんあったが とにかく勢いを失わないように、止まらないように、必死だったので どう弾いたのかあまり覚えていない。

ピアノが変わって戸惑うことはよくあるが、今回は開場前に練習させてもらえて、 ピアノの癖もわかってたしその時はそれなりにリラックスして弾けてたので、 本番での変化は純粋に観客の存在によるものである。

観客の存在によってパフォーマンスが影響を受けるのはこれは当然のことで、 むしろ芝居ではそれを積極的に利用するわけだけれど、 ピアノでは落ち着いてできないのは、 単に経験不足かもしれない。

だけど今日の経験で、観客のいる状況の方が燃えるかも、という感覚が芽生えた。 多分、芝居と似た世界が広がってるはず。

Tag: Piano

More entries ...