| > the source is the image Actually I thought the sources are stored in a source file and a corresponding changes file. True, one could de-compile the byte code - but usually the Smalltalk editor uses the sources from the sources/changes files. Smalltalk actually tracks the editing operations / class operations and uses the sources/changes file as a simple code database. > there's no possibility of defining a function in the REPL If I programmatically create a class in Smalltalk, is it recorded in the source? > Traversing the stack, accessing locals, stepping, etc. are of course all possible. we do that in Lisp, too - the difference is that there is no virtual machine specified and none is common. The default mode of executing Lisp is a) interpreting or by using compiled code (usually to machine code, or to C and then to machine code, ...). There are virtual machines, but they are usually tied to a specific Lisp implementation. |
> If I programmatically create a class in Smalltalk, is it recorded in the source?
There's no distinction between programmatically created and other elements. Using the UI to create a class is just a front-end to the metaprogramming facilities you'd use to do it yourself at runtime.