def evaluateWithTraces(code, scope): try: machine = SmallCaps.withDictScope(code, scope) machine.run() return machine.pop() except UserException as ue: debug_print("Caught exception:", ue.formatError()) return None
def evaluateRaise(codes, scope): """ Like evaluateTerms, but does not catch exceptions. """ env = None result = NullObject for code in codes: machine = SmallCaps.withDictScope(code, scope) machine.run() result = machine.pop() env = machine.env return result, env