Я хочу написать в Haskell функцию, которая поворачивает список, заданный в качестве второго аргумента, на количество позиций, указанных в первом аргументе.Используя сопоставление с образцом, реализуйте рекурсивную функцию
. Я написал следующую функцию:
rotate :: Int -> [a] -> [a]
rotate 0 [y]= [y]
rotate x [y]= rotate((x-1) [tail [y] ++ head [y]])
, но эта функция всегда выдает ошибку.Есть ли способ решить это?Функция должна делать следующее при запуске:
rotate 1 "abcdef"
"bcdefa"