244503bba9
Apply the transform to a Keyboard. Onwards to the final demonstration!
13 lines
480 B
Haskell
13 lines
480 B
Haskell
--------------------------------------------------------------------------------
|
|
module Utils where
|
|
--------------------------------------------------------------------------------
|
|
import Data.Function ((&))
|
|
--------------------------------------------------------------------------------
|
|
|
|
(|>) :: a -> (a -> b) -> b
|
|
(|>) = (&)
|
|
|
|
-- | Rotate `xs` as a cycle `n` times.
|
|
rotate :: Int -> [a] -> [a]
|
|
rotate n xs = take size . drop (n `mod` size) . cycle $ xs
|
|
where size = length xs
|