Talk:Graham Scan Implementation

From HaskellWiki
Revision as of 06:29, 1 September 2014 by Hrk (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Use foldr to simplify buttonLeft

The buttonLeft function can be simplified using foldr like so:

buttonLeft :: [Pt] -> Pt
buttonLeft = folrd minY (Pt (1/0, 1/0)) where
  minY (Pt (ax, ay)) (Pt (bx, by))
    | ay > by = Pt (bx, by)
    | ay < by = Pt (ax, ay)
    | ax < bx = Pt (ax, ay)
    | otherwise = Pt (bx, by)