Как я могу отредактировать следующий код, чтобы заставить Haskell показать все возможности поворота списка ввода от пользователя:
rotate :: Int -> [a] -> [a]
rotate n text = take (length text) (drop n (cycle text))
Я предполагаю, что для печати всех возможностей нам нужно отбросить первый элементХ раз.где X - длина введенного списка.
circle :: [a] -> [[a]]
circle text = take (length text) (drop (1) (cycle text))
Я не могу выполнить операцию, когда список печатается X раз.Кроме того, у меня есть ошибки при запуске приведенного выше кода, который гласит следующее: Не удалось сопоставить тип 'a' с '[a]'
Я хотел, чтобы вывод был примерно таким:
circle "ab"
["ab","ba"]