+ where
+ printCodeBlock :: [Stmt] Int -> [String]
+ printCodeBlock [] _ = ["{}"]
+ printCodeBlock [x] i = ["\n":printStatements [x] (i+1)]
+ printCodeBlock x i =
+ ["{\n":printStatements x (i+1)] ++ indent i ["}"]
+
+ indent :: Int [String] -> [String]
+ indent i rest = replicate i "\t" ++ rest