最近見た動画

その1 Scheme 関係


Scheme 初心者としてはこれが参考になりました。

アロケーションは重い」「アロケーションがあれば GC もある。GC も重い」「Lisper は、inner loop ではアロケーションしないように書くというのが定石」


ということは、入力 port から単語を切り出すような処理を書く場合、

  1. open-output-string しておいて、
  2. 単語構成文字を見つけるたびにそこに文字を詰め込んでいって、
  3. 単語が終わったら get-output-string する、
  4. 次の単語のために、新たに open-output-string して、1 に戻る。

というような処理はよろしくないっていうことなんだろうな……。単語ごとに、ひとつの文字列ポートを使い捨て。


出力文字列ポートが再利用できたらいいのだけど、port-seek は、今のところ出力ポートには使えない。素直に文字の list を作って list->string するべきか。

その2 Programming Paradigms (Stanford)

Youtube をうろついていて、偶然見つけた映像。

黒板に、ガシガシ scheme のソースを書いていくスタンフォード大学の授業。英語がいまいち分からんので、たまに訪れる笑い所で笑えないのが残念。先生の Jerry Cain さんは、かなり Scheme 好きっぽい。Emacs & kawa 使い。あと、説明の途中で、かなり細かく、しつこく、「make sense?」「make sense to people?」と聞いている。いい先生だな。たぶん日本語だと、「いい?」「納得?」みたいな感じだと思う。


Lecture 19 から Lecture 23 までの 5 コマは、Scheme を扱ってるのを確認した。


Lecture 19 | Programming Paradigms (Stanford)

Lecture 20 | Programming Paradigms (Stanford)

Lecture 21 | Programming Paradigms (Stanford)

Lecture 22 | Programming Paradigms (Stanford)

Lecture 23 | Programming Paradigms (Stanford)


Cain 先生が Lecture 1 で "All programming is fun. But Scheme is paticularly fun." と言っているのを発見 :-) やっぱ好きなんだな。