On 2015-12-10, Richard Stallman <[email protected]> wrote: > I looked at this some years ago, and I concluded there is only a > little validity in it. The main essential features of Lisp are not > present in Python.
For some clue of what you're talking about, your previous statement on this matter was: > I skimmed documentation of Python after people told me it was > fundamentally similar to Lisp. My conclusion is that that is > not so. `read', `eval', and `print' are all missing in Python. I must admit, I don't fully understand what you mean by this. Print is the most confusing. As a feature, Lisp's 'print' can be described as: Produce a string representation which can be read back of some objects (certainly not *all* objects - not buffers or subroutines, for example, and it's not structure-preserving for lists of lists), and display it on standard output. Python's 'repr' could be regarded as an exact match in concept for prin1-to-string, a building block from which Lisp's 'print' can be trivially made. The essential feature - that there is a way to get a string that can be read back for objects for which it is reasonable/easy - is present. Python's 'eval'/'exec' normally evaluates code directly from a string, skipping the need for 'read' entirely. However, if desired, the 'ast' module provides a rich framework for working with expression trees - the only difference is that they're built from class-based objects instead of just being a list of lists/symbols/literals.
