名前推論
動機
連鎖性言語は関数合成によってプログラムが構成されてゆく 関数のパラメータは暗黙的に取られるもの
関数単体からは引数などの情報が読み取りにくい
多くの連鎖性言語はパラメータの情報をコメントで( x y -- z )のように書く ただしパラメータに正しい名前をコメントでつけるのはコストがかかる
数は合っているか?
そもそもパラメータに名前を付けること自体にコストがかかる
十分に判別可能か?
用途と名前が一致しているか?
複数の意味を含んでいないか?
突き詰めるとパラメータは短かくなっていく
用途がはっきりしている場合や引数が少ない場合
例: ベクトル型を取る演算の引数は結局vやa, bみたいになりがち
これらは関数を十分に小さく保つようにするとよりはっきりしてくる
結果、読み易くするコツは関数をより小さくし、パラメータなどを少なく保つことになる
パラメータが多いと呼び出しのコストもよりかかるようになる
適用型言語だと意識しづらいが連鎖性言語を使うとはっきりしてくる
パラメータの名前を難しく考えるより関数の名前を熟考した方が全体の読み易さに繋がる
しかし多くの言語(適用型言語)では言語の構文の観点から小さく保つにも限度がある
ソースコード中の依存関係が単純な順方向リストではなくグラフになっている
連鎖性言語では値には名前を付けない