Towers of Hanoi: Difference between revisions
m
→{{header|Haskell}}: Tidied monoid version. Removed an import line which is redundant in GHC 8
m (→{{header|Haskell}}: Tidied monoid version. Removed an import line which is redundant in GHC 8) |
|||
Line 2,247:
or, defining it as a monoid, and adding some output:
<lang haskell>
hanoi :: Int ->
hanoi 0 _ _ _ = mempty
hanoi n l r m = hanoi (n - 1) l m r <> [
main :: IO ()▼
------------------------- DISPLAY ------------------------
showHanoi :: Int -> String
showHanoi n =
unlines $
fmap
(\(from, to) -> concat [justifyRight 5 ' ' from, " -> ", to])
▲-- TEST -------------------------------------------------------------
▲main :: IO ()
▲main = putStrLn $ showHanoi 5</lang>
{{Out}}
<pre> left
left
right
left
left
left
right
right
right
left
left
right
left
left
right
right
left
left
right
left
left
=={{header|HolyC}}==
|