The notes at:
give you an idea of how answers are evaluated -- but the page is historical and the sophistication of the answer evaluators has
increased dramatically from the time this page was written.
The basic idea that the author of the problem also has complete
freedom in writing the answer evaluator subroutine remains.
Roughly speaking the response evaluator subroutine takes a string which is the student's response and returns a 0 or 1 depending upon whether their response is correct.
Most often the author chooses from one of the preprogrammed response evaluators such as those supplied by fun_cmp or num_cmp.
also gives information on the most basic response evaluators.
We're working on documentation for the newest evaluators, but there is not a lot available yet.