Как определить функцию rotates, которая генерирует все вращения данного списка?
Например: вращает [1,2,3,4] =[[1,2,3,4],[2,3,4,1],[3,4,1,2],[4,1,2,3]]
Я написал функцию сдвига, которая может изменить порядок
shift ::[Int]->[Int]
shift x=tail ++ take 1 x
но я не могу сгенерировать эти новые массивы и добавить их вместе.