Difference between revisions of "Talk:Graham Scan Implementation"

From HaskellWiki
Jump to navigation Jump to search
(Removing all content from page)
Line 1: Line 1:
  +
== 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)

Revision as of 06:28, 1 September 2014

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)