29 Mar 21:38
Re: evaluating buffer w/o re-initializing environment?
On Sun, Mar 29, 2009 at 2:37 PM, Neil Van Dyke <neil@...> wrote: > FWIW, I suspect that DrScheme would find more converts from Emacs if there > were power-user features like send-last-sexp-to-repl and > send-selection-to-repl. Even if they don't work very well. > ... > I'm not arguing too strongly for making DrScheme more friendly to power > users. If the Scheme consulting revenue permits, I have a plan to rewrite > all the Emacs Scheme support from scratch, to make it much closer to > DrScheme, while supporting more rapid/exploratory development. I'm willing > to add some kind of automatic HTDP student detection and lockout behavior. > :) Would it be possible to add some of this support to DrScheme in the form of a plug-in? Perhaps that would ease the minds of those who don't want to encourage that style of development without punishing those who feel punished. As a very minor data point, my significant Scheme/Lisp programming began in DrScheme, and as I explored Lisps in Emacs, I quite missed the ability to send sexps to a live REPL when going back to DrScheme. It's the reverse direction from what Matthias described, and the reverse psychological impact. By way of justification for the feature, it is often hard to figure out what to do with intermediate data when developing moderately computationally intensive processing components (as in many kinds of computer vision applications). When working with Matlab, one tends to stash partially processed data in the workspace while working on subsequent layers of processing. Of course, one does periodically have to clear the workspace, or at least certain elements of it, when the situation has become inconsistent, but, despite this admittedly dangerous shortcoming, it is a viable workflow. When working with Lisp and Emacs, the REPL can be a handy place to have live data hang out. Unfortunately, I haven't found a technique that I'm totally satisfied with in DrScheme. In particular, I'm referring to data that takes on the order of 10 seconds to a minute or so to compute. Any longer, and serializing to disk is probably advisable, and perhaps the correct advice here is to always write the data to disk, as an sexp, since reloading it is so straightforward, but I can't help but feel that more persistent REPLs have some advantage here. For another example, using environments such as Impromptu <http://impromptu.moso.com.au/manual.html> to fine tune visual displays is a truly fantastic experience. Anthony
RSS Feed