宣言型言語 = what(何をしたいか)を記述
手続き型言語 = how(どうやるか)を記述

クロージャをいかに早めに潰すかに苦心するHaskellは後者ですな