# Problem 19

Rotate a list `n` places to the left (negative values will rotate to the right). Allow rotations greater than the list length.

## Example

``````[rotate 3 (List.range 1 10), rotate 11 (List.range 1 10) ] ==
[ [4, 5, 6, 7, 8, 9, 10, 1, 2, 3]
, [2, 3, 4, 5, 6, 7, 8, 9, 10, 1]
]
``````

## Unit Test

``````import Html
import List

rotate : Int -> List a -> List a
rotate rot list =
[]

main : Html.Html a
main =
Html.text
<| case test of
0 ->

1 ->

x ->
"Your implementation failed " ++ (toString x) ++ " tests."

test : Int
test =
List.length
<| List.filter ((==) False)
[ rotate 3 [ 1, 2, 5, 5, 2, 1 ] == [ 5, 2, 1, 1, 2, 5 ]
, rotate 13 (List.range 1 10) == [ 4, 5, 6, 7, 8, 9, 10, 1, 2, 3 ]
, rotate 1 (List.range 1 5) == [ 2, 3, 4, 5, 1 ]
, rotate 0 (List.range 1 5) == [ 1, 2, 3, 4, 5 ]
, rotate -1 (List.range 1 5) == [ 5, 1, 2, 3, 4 ]
, rotate -6 (List.range 1 5) == [ 5, 1, 2, 3, 4 ]
, rotate 3 (List.range 1 5) == [ 4, 5, 1, 2, 3 ]
, rotate 1 [ "1", "2", "3", "4" ] == [ "2", "3", "4", "1" ]
, rotate 1 [] == []
]
``````

## Hints

1. Take and ...

Solutions