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

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

ランダムなメモ:後で整理する

  • 立体視が重要
  • だが、複数の視点を紹介する時間がない
  • 上江州流が中心
  • 関数概念
    • 「集合と関係グラフ」ベース、非常に静的
    • 記号と計算(記号の書き換え)ベース
    • 装置メタファー、直感的
    • 矢印ベース、圏論
  • 関数計算の基本演算
    • 適用中心
    • 結合(合成)中心
  • 高階関数の考え方
    • 数学では
    • 物理では
    • コンピュータでは
  • 「一番よく使う記号は省略する」の原則
  • 計算と計算結果、値とはなにか
  • 1 + 2 = 3 だが、 3 = 1 + 2 は?
  • 式は値か?
  • 定数は変数か?
  • 変数の束縛環境(値束縛)
  • 閉包ってなんだぁ??
  • 実行と評価、それと結果、それと無限走行
  • 「ピュアすぎると嫌われる」
  • 「単純すぎるとわかりにくい」
  • 物と働き、データと操作の二元論
  • どこまでがハードウェア、どこからがソフトウェア
  • 個別算術ハードウェアと万能算術機械
  • プログラムは物であり働きである 二面性
  • 二面的だが存在ブツとしてはひとつ、これが謎
  • 自由、束縛を構文的に区別する
  • 記号表現より絵のほうが合理的なときもある
  • グラウンドな項、閉じた式

不純ラムダ計算とは:

  1. 多変数(多引数)を許す
  2. 型付きである、が暗黙の宣言で型の明示をサボル
  3. タプル構成子を持つ
  4. タプルからの成分取り出し(ドットやブラケット)はプリミティブ
  5. 定数(リテラル)を持つ
  6. 組み込み関数、演算子を持つ
  7. 制御構造を持つ
  8. 変数の辞書式順序を利用する
  9. 環境のチェーン、したがって入れ子の閉包を許す

普通のプログラミング言語と違う点は、多引数と多値の解釈:

  1. 多引数をタプル1引数だと考える
  2. 名前付き引数は、変数タプルへの値タプルからの同時代入で実現されると解釈
  3. タプル戻り値は、多引数関数にそのまま代入できると考える。