Lisp, Smalltalk, and the Power of Symmetry (2014)
&gt; Smalltalk is powerful because all Smalltalk data are programs–all information is embodied by running, living objects.<p>That&#x27;s what Lisp systems do too. Program elements like classes, functions, methods, symbols, ... are first class objects. With something like CLOS you have a similar level of object-oriented meta-programming capabilities.<p>Many Lisp systems offer additionally to execute Lisp data using a Lisp interpreter and Lisp has a simple data representation for Lisp programs: Lisp data.<p>Smalltalk OTOH uses text as source code and usually a compiler to byte-code.<p>&gt;  because Lisp source code is expressed in the same form as running Lisp code<p>Only if you use a Lisp interpreter. Otherwise the running Lisp code might be machine code or some byte code.<p>&gt; Smalltalk goes one further than Lisp: it’s not that Smalltalk’s source code has no syntax so much as Smalltalk has no source code.<p>That&#x27;s a misconception. Smalltalk has source code. As text. It&#x27;s just typically managed by the integrated development environment.<p>It&#x27;s actually Lisp which goes further than Smalltalk, because Lisp has source as data and can use that in Lisp interpreters directly for execution.