added the builtin error function that allows the code to uncoditionally stop the evaluation