関数型... 関数を通して返す値が常にあるもの。y=f(x)の関係さ。
これが一番広い意味の関数型言語の定義だと思うんだが。
純粋か不純かは関数の中で、変数の値を変化させる事が可能かどうかの
違いじゃなかったっけ?

Cはvoid型のように返す値がないものもあるので、関数型とは言わない。