, :
dimensions :: Image -> (Point, Point)
. :
sortImage :: Image -> Image
y x (: Data.List.sortBy - ). , . (.. '.', )
blankImage :: (Point, Point) -> [String]
. , , . [String] = [[Char]], 2D . Point , , (0, 0). , . , dimensions.
, blankImage , Image. Point blankImage, .
fillImage :: Image -> [String] -> [String]
, :
import Data.List
showImage :: Image -> String
showImage img = intercalate "\n" filled
where
sortedImg = sorteImage img
(upperL, lowerR) = dimensions sortedImg
blank = blankImage (upperL, lowerR)
offsetImg = offsetImage upperL sortedImg
filled = fillImage offsetImg blank
putStrLn $ intercalate "\n" filled
intercalate [String] , .
, Haskell, , , , . , , , .