title: Can coordinates of constructable points be represented exactly?
body: <p>I'd like to write a program that lets users draw points, lines, and circles as though with a straightedge and compass. Then I want to be able to answer the question, "are these three points collinear?" To answer correctly, I need to avoid rounding error when calculating the points.</p>
  
  <p>Is this possible? How can I represent the points in memory?</p>
  
  <p>(I looked into some unusual numeric libraries, but I didn't find anything that claimed to offer both exact arithmetic and exact comparisons that are guaranteed to terminate.)</p>