記法の監獄(獄舎, 牢屋, 呪縛)
記法バイアスと記法独立な把握: 順序随伴を例として - 檜山正幸のキマイラ飼育記に関連するメモ。
囲み記号の多様性
- ( ), { }, []
- 左右が同じ囲み記号 | |, " ", ' ', ` `
- 囲み記号の省略
区切り記号
- ',', ;, :, |, /, 空白, 改行, なし(併置)
二種の区切り記号(大区切りと小区切り)
- ,と;、,と空白、,と改行、空白と改行、,とスラッシュ
二種以上の区切り記号があるかも知れない。
区切り記号と終端記号が混乱しがち。
中置演算子記号か区切り記号か?
- PowerShellでカンマは演算子記号、リストリテラルはない。表示の区切り記号は改行。
- R言語もベクトルリテラルがない。cは関数。
囲み記号が関数になるときがある。
- 絶対値
- スコットブラケット
- 内積、ペアと紛らわしい
中置演算子の省略
- 掛け算
前置演算子(関数記号)の省略
関数適用
- f(x)
- fx ラムダ計算
- f・x これもラムダ
- x.f 図式順
- fx 数列、族(主に集合族)、自然変換
指数表記
- 二変数関数 exp
- 中置演算子 ^, **, [,], ->
- expのカリー化が二種類
- ax = x-1ax では便利
タプル1変数と多変数
- f(x, y) = f((x, y))
- f([x, y]) = f(x, y)
入れ子のフラット化
- (((a. b) . c) . d) . nil) = (a b c d)
- (((a. b) . c) . d) = (a b c d) でもよい。
適用と結合
- x;f = x . Λ(f) = ev(x, Λ(f))
- f(x) = Λ(f)・x = ev'(Λ(f), x) = ev(x, Λ(f))
- f(x) = fx~ = x~;f = x.f