We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 7d045e4 commit 2b85e5aCopy full SHA for 2b85e5a
archive/p/purescript/baklava.purs
@@ -0,0 +1,32 @@
1
+module Main where
2
+
3
+import Prelude
4
+import Effect (Effect)
5
+import Effect.Console (log)
6
7
+main :: Effect Unit
8
+main = do
9
+ baklava (-10) 10
10
11
+baklava :: Int -> Int -> Effect Unit
12
+baklava n ne
13
+ | n > ne = pure unit
14
+ | otherwise = do
15
+ log (baklavaLine n)
16
+ baklava (n + 1) ne
17
18
+baklavaLine :: Int -> String
19
+baklavaLine n = do
20
+ let numSpaces = abs n
21
+ let numStars = 21 - 2 * numSpaces
22
+ (repeatString numSpaces " ") <> (repeatString numStars "*")
23
24
+abs :: Int -> Int
25
+abs n
26
+ | n < 0 = -n
27
+ | otherwise = n
28
29
+repeatString :: Int -> String -> String
30
+repeatString n s
31
+ | n < 1 = ""
32
+ | otherwise = s <> repeatString (n - 1) s
0 commit comments