summaryrefslogtreecommitdiff
path: root/11-20/19.hs
diff options
context:
space:
mode:
authorDeterminant <ted.sybil@gmail.com>2017-05-28 20:29:11 -0400
committerDeterminant <ted.sybil@gmail.com>2017-05-28 20:29:11 -0400
commit9c608c32a9387a1dd1cb045e5822733ad181ccf8 (patch)
tree9464fd3f8e218c6000783c80e2db7b573c30ea80 /11-20/19.hs
parentb2d6f0e28dac922ac4ed5c55f79d0dd38f4765d2 (diff)
finish vol 2
Diffstat (limited to '11-20/19.hs')
-rw-r--r--11-20/19.hs6
1 files changed, 6 insertions, 0 deletions
diff --git a/11-20/19.hs b/11-20/19.hs
new file mode 100644
index 0000000..f1e795b
--- /dev/null
+++ b/11-20/19.hs
@@ -0,0 +1,6 @@
+rotate :: [a] -> Int -> [a]
+
+rotate l n = let (a, b) = rot l (if n < 0 then (n + length l) else n) in b ++ a
+ where rot l@(x:xs) n
+ | n > 0 = let (a, b) = rot xs (n - 1) in (x:a, b)
+ | otherwise = ([], l)