Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class nil:
- pass
- def cons(x, y):
- return lambda v: x if v else y
- def nth(l, n):
- if l is nil:
- return None
- elif n == 0:
- return l(True)
- else:
- return nth(l(False), n-1)
- def prn_list(l):
- print("("),
- def inner(l):
- if l is nil:
- print(")")
- else:
- print(l(True)),
- if l(False) is not nil:
- print(" "),
- inner(l(False))
- inner(l)
- def reverse(l):
- def inner(r, l):
- if l is not nil:
- return inner(cons(l(True),r),l(False))
- else:
- return r
- return inner(nil,l)
- if __name__ == "__main__":
- l = cons(1,cons(2,cons(3,nil)))
- prn_list(l)
- prn_list(reverse(l))
Advertisement
Add Comment
Please, Sign In to add comment