プログラミング言語やプログラミングパラダイムについて議論するとき,用語の定義を共有しないと議論が噛み合わなくなります.それで以下に私が日頃関数型言語について議論したり考えたりするときに暗黙で使っている定義(ここでは厳密なものではなく,このよように私は考えているという程度のもの)を挙げておくことにします.関数型言語に関連する議論をするときにこの定義をそのまま利用する必要は当然ありません.議論の際に共有するべき概念や用語のチェックリスト,あるいはズレを確認するのに利用できればと思います. 私個人としては用語の使い方としては妥当であると思っていますが,あやまった理解,あやまった使い方であると感じられる(確信される)部分がありましたらご指摘下さい.また,説明すべき用語が抜けている場合にもそれをご指摘いただけると幸いです. 命令プログラミングあるいは命令型言語,とくにオブジェクト指向プログラミングと