A few minutes ago, mikel evins wrote: > > On Mar 5, 2013, at 11:55 AM, Eli Barzilay <e...@barzilay.org> wrote: > > > An hour and a half ago, Matthias Felleisen wrote: > >> > >> I have empathy for your perspective, because I have worked with > >> images and -- at the time -- found them useful. > > > > I think that *most* of Mikel's long post was about the advantages > > of having a live REPL, > > Then I didn't express myself clearly enough. Sorry about that.
So let me clarify a bit more (though this is obviously my very subjective opinion)... I loved doing the kind of live-REPL-based debugging that you're talking about, but every once in a while things would get messed up in a way that made it much easier to just restart the whole thing. I've also used images, but the main thing that bothered me about them is that they're heavily oriented in the other direction: instead of restarting the application from scratch where I know that the code is only what's in the source, it encourages continuous tweaking of the live REPL where you continue to tweak and try to fix it to later dump a new image. Eventually, I concluded that images are a cute thing in theory, but in practice they were too limited in the reduced ability to deal with the source code. Maybe Emacs is a good example of this: even though it's image-based, developement happens on the source, with the image feature being pushed to just another step in the compilation chain. (Disclaimer: the systems that I used with images were the common ones where there's no support for editing the live source -- not the fancy lisp machine or smalltalk things.) -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://barzilay.org/ Maze is Life! _________________________ Racket Developers list: http://lists.racket-lang.org/dev