> Interactivity has nothing to do with an "image". An image is a dump of the memory heap. That's a feature found in several, but not all, Lisp implementations. There are Lisp implementation which support image-based development (like Interlisp). But I doubt that you have used that.
Actually I was unconsciously talking about the typical Common Lisp implementations I have used.
> Still, software in most Lisp projects is organized in files.
Yes, sure, but I am not sure the combination of image, promoting interactive development mixes well with do a git commit and typical CI pipelines. Interactivity encourages a flow where you "instantly see" results and experiment, whereas a compile-edit-runtests follows more naturally with more structure in test cases, etc.
Of course they have their uses, and their very useful use cases. But I do think they should not be abused and I also think they should be the last thing to use, when nothing else will work.
ECL and ABCL are Common Lisp implementations. They are both interactive and both don't use images.
Unless one saves and load images, one is not using image-based development. All one is using is the interactive nature of Lisp, via a dialog interface, here a REPL. Lisp uses late binding, which makes it possible to update function definitions in interpreted and compiled software.
The base for interactive Lisp development is:
* a procedure to read data
* a procedure to evaluate data as code: EVAL
* printing
* a Read / Eval / Print loop
* additionally Lisp provides an incremental compiler and a file compiler
* LOAD to load code
Still a typical Common Lisp application or library consists of files. ASDF is the moral equivalent of "make" and runs the file compiler. Quicklisp will transfer Lisp software in the form of files to your local machine, compile the files there and load them.
So far we have not used "images". If you check the ANSI Common Lisp standard, there is not a single word about "images" in the standard definition.
Actually I was unconsciously talking about the typical Common Lisp implementations I have used.
> Still, software in most Lisp projects is organized in files.
Yes, sure, but I am not sure the combination of image, promoting interactive development mixes well with do a git commit and typical CI pipelines. Interactivity encourages a flow where you "instantly see" results and experiment, whereas a compile-edit-runtests follows more naturally with more structure in test cases, etc.
Of course they have their uses, and their very useful use cases. But I do think they should not be abused and I also think they should be the last thing to use, when nothing else will work.