In Donkey, expressions are evaluated by the repeated application of reduction rules . There are two types of reduction rules. Focus rules describe where reductions will occur, and progress rules describe the reductions themselves.