Next step up in magnetic media
technologyreview.com1 pointsby newt0311-1 comments
>>> def cons(a, b):
... def lm(f):
... return f(a, b)
... return lm
...
>>> def car(cns):
... return cns(lambda a, b: a)
...
>>> def cdr(cns):
... return cns(lambda a, b: b)
...
>>> x = cons(1, 2)
>>> car(x)
1
>>> cdr(x)
2
Most scheme code translates relatively cleanly into python code. The biggest problem in translation comes when code wants to modify variables in a closure. Since SICP is primarily concerned with functional programming, this is a non-issue. Furthermore, Python 3.0 includes the nonlocal statement which fixes this problem (details here: http://www.python.org/dev/peps/pep-3104/). Python is not lisp but its pretty darn close and unlike lisp (or scheme in this case), it has a well designed, well tested standard library -- something extremely important in programming languages today. In light of this information, MIT's decision to move to Python is justified.