Advertisement
Guest User

Christmas tree in Haskell IO

a guest
Jan 17th, 2019
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. christmasTree :: Int -> IO ()
  2. christmasTree n
  3.     |n <= 2 = return ()
  4.     |otherwise = putStrLn ( (topPart n) ++ (bottomPart n) )
  5.  
  6. addStar :: Int -> String
  7. addStar n = [ '*' | _ <- [1..n]]
  8.  
  9. addSpace :: Int -> String
  10. addSpace n = [ ' ' | _ <- [1..n]]
  11.  
  12. topPart n = maketree n 0
  13.                 where
  14.                 maketree 0 _ = ""
  15.                 maketree n m = ((addSpace (n-1)) ++ (addStar (m*2+1))++"\n") ++ maketree (n-1) (m+1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement