Haskell most definitely supports loops:

    ghci> :{
    ghci| for_ [1 .. 10] $ \i ->
    ghci|   print i
    ghci| :}
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
It doesn't require loops to be implemented at the language level, however. The language is rich enough to support user-defined loop constructs.