# 99 bottles in haskell
- main = putStrLn ( bottle 99 )
- bottle :: Integer -> String
- bottle 1 = ( bottle_string 1 ) ++ " on the wall, "
- ++ ( bottle_string 1 ) ++ ".\n"
- ++ "Go to the store and buy some more, "
- ++ ( bottle_string 99 ) ++ " on the wall."
- bottle x = ( bottle_string x ) ++ " on the wall, "
- ++ ( bottle_string x ) ++ ".\n"
- ++ "Take one down and pass it around, "
- ++ ( bottle_string ( x - 1 ) ) ++ " on the wall.\n\n"
- ++ bottle ( x - 1 )
- bottle_string :: Integer -> String
- bottle_string 1 = "1 bottle of beer"
- bottle_string x = ( show x ) ++ " bottles of beer"
And 99 bottles of beer in Haskell. The code style is a bit more like the usual Haskell style than my last effort, I think.