Создание картинки карты с рекурсивной функцией
Я впервые использую блеск haskell, и у меня возникли некоторые проблемы, в этом коде:
-- the initial c and l will be imagine for dimension 9: (-160) 160
-- (so the square ends in the center of the window
-- column; line; dimension
drawmap :: Float -> Float -> Float -> Picture
drawmap c l d = (drawline x c l d) : (drawmap xs c (l+40) d)
drawline :: Float -> Float -> Float -> Picture
drawline c l d = if (d>0) then (Translate c l $ Color red (circle 20)) : (drawline (c+40) l (d-1))
else (Translate c l $ Color red (circle 20))
Единственный вопрос, который у меня есть сейчас, - это тип, потому что мне нужно, чтобы он был типа Picture, а не [Picture], какая-нибудь помощь?
А также, как мне сделать эту точку остановки:
drawline _ _ 0 = Nothing or []
Я знаю, что это неприемлемо, но как мне сказать, когда нужно прекратить делать круги?
Это совсем не практично, это просто очень простой пример, если кто-то поможет мне понять это, я смогу применить то, что мне действительно нужно.