Ich spiele gerade mit Haskell herum und bin dabei über die Funktion des Listenverständnisses gestolpert. Natürlich hätte ich für so etwas eine Closure verwendet:
Prelude> [x|x<-[1..7],x>4] -- list comprehension
[5,6,7]
Prelude> filter (\x->x>4) [1..7] -- closure
[5,6,7]
Ich habe immer noch kein Gefühl für diese Sprache, also welchen Weg würde ein Haskell-Programmierer gehen? Was sind die Unterschiede zwischen diesen beiden Lösungen?