In a previous essay I showed how to write a simple Lisp interpreter in 90 lines of Python: lis.py. In this essay I make the implementation, lispy.py, three times more complicated, but more complete. Each section handles an addition. (1) New data types: string, boolean, complex, port Adding a new data type to Lispy has three parts: the internal representation of the data, the procedures that operat

