OnLisp勉強会に参加しています

とりあえずメモ。15:30に早退させていただきました。メモも中途半端かも。

1章とガイダンス

  • 各自自習。
  • Lispを極めるとかっこが見えなくなってくる。表示で色を薄くしたらいいんじゃ?

2章

  • #'と'が分かれているのは、名前空間が分かれているから。setqとsetfは違う。変数を最初に定義する必要があるかどうかでわかれる?
  • Schemeはfuncallとかapplyがいらない。
  • Haskellはそもそもクォートすらいらない。
  • 属性リスト。シンボルを理解しないといけない。[名前|パッケージ|変数の値|関数|属性リスト]
  • applyは2つ目の引数以降をconsしたリストに1つめの引数の関数を適用する。
  • キスカルスコープとローカルスコープ。
  • Perlは日常的に黒魔術を使う言語だから。
  • Rubyの場合は、レキスカルスコープ。スコープを区切ってあげることが重要。
def foo
  a = 1
  proc do
    a
  end
end

a = 2
p foo[] # => 1
  • p.16のプログラムのムが大きい。漢字かなぁ。
  • Ruby公用語
  • Schemeにはnamed letがある。再帰が書ける。
  • reclet?とかlet*もある。複雑だ。