ある種の高階関数はCでもかける。qsortとかね。
本質的なのは関数型変数に対して呼び出しと代入しかできないのが普通の言語で、
引数を1つ埋めたり合成したりして新しい関数を作ったり出来るようになっているのが
関数型だと思う。

でも突き詰めればそれはPerlなどのevalを持つ言語でも出来ることだから
「関数型は動的である」と言ってるに過ぎないような。