You are too lazy. Vertexand Extenthave non-line fields, and all your functions Vertexreturn
Vertex thunk1 thunk2
. addToExtent
Extent thunk1 thunk2
.
, ByteString , , Double .
Vertex Extent strict - , Vertex . Extent , ,
processLines strs ext = foldr (\x y -> addToExtent y (parseLine x)) ext strs
, ,
(\x y -> addToExtent y (parseLine x))
.
, NaN undefined, , , (!) ,
processLines strs ext = foldl' (\x y -> addToExtent x (parseLine y)) ext strs
, Vertex Extent .
, - :
addToExtent ext vert = Extent vertMax vertMin
where
(vertMin, vertMax) = (makeCmpVert max (extentMax ext) vert, makeCmpVert min (extentMin ext)
( , ), .
,
(vertMax, vertMin) = ...