1. A method of operating a computer system for evaluating a programming language statement that includes a first and a second sub-statement, the method comprising the steps of: evaluating the first sub-statement and determining an evaluation success result if the evaluation succeeds or a distinguished value if evaluation fails; said distinguished value being a value not included in the range of possible evaluation success results of the first sub-statement; determining whether the second sub-statement is to be evaluated, and if so, evaluating the second sub-statement and determining an evaluation success result if evaluation succeeds or said distinguished value if evaluation fails; a range of possible evaluation success results of the second sub-statement not including said distinguished value; and determining an evaluation result of the statement depending on at least whether evaluation of the first sub-statement succeeds or fails.