def __repr__(self): curr = self top = [] while not Symbol.isNIL(curr): top.append(curr.car) curr = curr.cdr return '(' + ' '.join(repr(x) for x in top) + ')'
def __init__(self, car, cdr): assert car is not None assert cdr is not None assert isinstance(car, Cons) or isinstance(car, Symbol) assert isinstance(cdr, Cons) or Symbol.isNIL(cdr) self.car = car self.cdr = cdr