The Twelve Days of Christmas: Difference between revisions
m
→{{header|Haskell}}: Applied Ormolu
m (→{{header|Terraform}}: simplify range use) |
m (→{{header|Haskell}}: Applied Ormolu) |
||
Line 2,032:
{{trans|F#}}
<lang haskell>gifts :: [String]
gifts =
"Two turtle doves,",
"Three french hens,",
Line 2,044:
"Ten lords a-leaping,",
"Eleven pipers piping,",
"Twelve drummers drumming,"
]
days :: [String]
days =
[ "first",
"second",
"third",
"fourth",
verseOfTheDay :: Int -> IO () ▼
"fifth",
"sixth",
"seventh",
"eighth",
"ninth",
"tenth",
"eleventh",
"twelfth"
]
verseOfTheDay day = do
putStrLn $ "On the " ++ days !! day ++ " day of Christmas my true love gave to me... " ▼
▲ putStrLn ""
mapM_ putStrLn
putStrLn ""
dayGift _ gift = gifts !! gift▼
where
dayGift 0 _ = "A partridge in a pear tree!"
main :: IO ()
main = mapM_ verseOfTheDay [0 .. 11]</lang>
{{out}}
<pre style="font-size:80%">On the first day of Christmas my true love gave to me...
Line 2,163 ⟶ 2,177:
Three french hens,
Two turtle doves,
And a partridge in a pear tree!</pre>
=={{header|Icon}} and {{header|Unicon}}==
|