このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

ランダム・メモ

とりあえず、紙にメモすると散らばるから。

  • 絵の描き方
    1. 上から下
    2. f x と、左から右
    3. 抽象は右抽象 f^
    4. タプリングは白丸
    5. λも白丸(バブル)
    6. Applyは黒丸
    7. タプルの抽象は、白丸と白丸を結ぶ
    8. ベキ(指数型)は二本線、逆向きの対
    9. タプルのアリティ(項数)は、白丸のなかに数値
  • タプル導入はうっとうしい
    1. 定数は0引数関数か?
    2. 2引数関数と2-タプル1引数関数は同じか違うか?
    3. 多引数と多値は対称にはできないのか?
    4. タプルがなくて済むならスッキリ
    5. が、タプルレスは必ずしも直感的ではない。
  • 問題意識
    1. 関数とは何か?
    2. 関数は働き(行為、動作)か、それともモノか?
    3. 関数の計算はどうするのか?
    4. 関数で何が表現できるのか、どう表現できるのか?
  • ラムダ計算からのメッセージ
    • 働きとしての関数と、モノとしての関数は区別しなくても大丈夫
    • いったん区別しない限りは「区別しなくても大丈夫」の意味は理解できない
  • さまざまな視点とは
    1. 立体視
    2. 中からの視点、外からの視点
    3. 区別しない立場、区別する立場
    4. 構成的な立場、超越的な立場
    5. ソフトウェア的、ハードウェア的
    6. 抽象的、具象的
    7. 計算過程の操作的、計算結果の表示的
    8. 自然物、人造物
    • 関数、閉包
    1. 式と関数は違うのか
    2. 変数の名前とは何か、名前はいるのか?
    3. 関数=大きなラムダ式 と考える(上江州流)
    4. 閉包=関数+環境(名前付きパラメータ)
  • 純ラムダの計算と、関数はグラフ(関係)と見る立場の距離は大きい
  • コンピューティングの世界は、それと統合し発展したモデルで記述される(べき?)
  • 変数に辞書式順序 -- これは便宜的ルール、だがないと困る。
  • コンパイラ=カリー化=小さいラムダ、アプライ=ハードウェア
  • 自然も計算している(ニュートン力学も熱拡散も量子力学も)

まだ続く、かも。

ここから続き:

  • 別な問題意識:「計算している自分」=作業当事者は「計算している自分」を意識できるか、客観視できるか。
  • 自然の計算 例: y = f(v, θ, t)
  • 自然の計算 例: τ = f(k, t) 熱拡散の離散化
  • 高階関数: Σで総和、sigma(n, m, f)
  • 高階関数: 1次関数を返す関数、総和を取る高階関数を返す関数、関数の2回適用をした関数を返す関数
  • 言葉:ラムダ抽象、関数抽象、抽象、カリー化、
  • この世界:コンピュータ上でCで書かれたJVM上のJavaで書かれたRhinoでCPUエミュレータを作る、とか。それが平気になっている。そんな世界をどうやって理解するんだ?