[plt-scheme] Interacting w/ MzScheme

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Thu Dec 9 23:17:09 EST 2004

Okay, I am with you on the file dialog and on rectangle. I understand 
version control, but don't need enough of this. Way back when I was 
young and at Rice, I actually started planning a tree diff -- and 
promptly forgot about it that afternoon. I bet that we could compare 
and contrast with Benli's and Norman's "unison" paper and get some 
papers out of it. But I hardly ever need version control; I do it 
manually -- that's how old I am.

Thanks -- Matthias

On Dec 9, 2004, at 10:44 PM, Felix Klock's PLT scheme proxy wrote:

> Well, only since you asked...
> A list, covering the items that you mentioned first:
> 1. I don't miss tagging.  DrScheme has source browsing with 
> goto-definition and what not, and I don't think I've seen Emacs do 
> significantly better than DrScheme in that arena.  Then again, I 
> generate my TAGS file in a pretty naive fashion, so it gets things 
> wrong on occasion.  Neither Emacs nor DrScheme has a source browser 
> that matches up to what the Green Hills Software MULTI debugger 
> provides (of course, that's not for Scheme; its just an example of how 
> good things could be).
> 2. I do miss version-control integration.  A lot.  I've shown you M-x 
> ediff-revision and how pretty its output is (not to mention *useful*). 
>  I use that functionality all the time, and I believe in it as a 
> fundamental tool in the software development process.
> I think that diff has been short changed by both academics in Software 
> Engineering and the industry, and that there is much room to grow 
> here.  If someone put a tree-diff based algorithm for revision diff's 
> of parse trees (or s-exp's) into DrScheme, it could be a real coup for 
> PLT over GNU as a lisp editing environment.  But I've already tried to 
> get funding for similar work; that particular brand of honey isn't 
> catching any flies.  So that goes into the "when I have spare time to 
> hack" file.
> 3. I don't miss having a spell checker.  I do ispell-word on occasion, 
> and when I TA, I prefer to see student code with less typos, but not 
> enough to make a feature request here.
> 4. I do miss being able to write my scheme code in a latex file, and 
> still being able to usefully evaluate subexpressions or even the whole 
> file, not to mention switch between the different syntax coloring 
> modes with M-x scheme-mode or M-x latex-mode.
> (However, this is just a matter of defining an appropriate language 
> for DrScheme.  I bet one could do it so that for the most common cases 
> it would simultaneously syntax-color both the latex and the scheme 
> "appropriately".  So this is a facetious argument; the real issue is 
> that this already works in Emacs, so it has inertia on its side.  At 
> some point I took the time to get stack traces that descend into 
> scheme code embedded in latex files to work in DrScheme, so obviously 
> I still find DrScheme useful enough that I'd make my latex-loader use 
> READ-SYNTAX instead of READ.)
> 5. I do miss having an integrated shell terminal that I can switch to 
> (and copy/paste from) using only the keyboard.  But this probably 
> stems from my aversion to "fondling the rodent"; if you're happy 
> working with a mouse (or temporary files) to move data in and out of 
> scheme, then you probably don't care about this.  Same goes for an 
> integrated file browser; either you love using it, or you don't care.  
> Maybe there's some way to get this functionality into DrScheme with an 
> appropriate user-written REPL.
> 6.  I do miss the responsiveness.  But this has gotten better over 
> time, and to be honest, emacs is not always sufficiently responsive 
> either (especially since it can't spawn off sub-threads for certain 
> utilities that really really could use it).  So I think this is a 
> pretty silly point of argument; I only include it for completeness.
> 7. I do miss M-x kill-rectangle and M-x yank-rectangle.  There, I said 
> it; I love using them!  I use them all the time!  (not as much as 
> ediff-revision though).  I bet this would be an easy thing to graft 
> onto DrScheme's editor% class, at least when the user is using a fixed 
> width font...
> So, I've listed five things I miss, but I noted that two of them are 
> things that would probably be straightforward user-level modules to 
> write, and another two are not deal breakers.  VC integration *is* a 
> deal breaker for me.
> However, the reality here is that I am not the average user of 
> DrScheme.  I'm sure there are many outstanding issues with DrScheme 
> that are actually relevant to the high school and undergraduate 
> students using it, and I think those should take higher priority.  
> You're better off leaving dinosaurs like me in the tar pits.
> -Felix, who probably shouldn't have put anything next to his name in 
> his last email, and now he's trying to make up for it.
> On Dec 9, 2004, at 10:03 PM, Matthias Felleisen wrote:
>>  For list-related administrative tasks:
>>  http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>> Okay, I am not interested in random statements like "I like my Emacs 
>> better." So do I. I know that DrScheme isn't Emacs. Something like "I 
>> miss tagging" or "I miss a cvs mode" or "I miss a spell checker" is 
>> useful.
>> -- Matthias
>> On Dec 9, 2004, at 9:53 PM, Felix Klock's PLT scheme proxy wrote:
>>>  For list-related administrative tasks:
>>>  http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>>> On Dec 9, 2004, at 9:36 PM, Daniel Hagerty wrote:
>>>>     Try C-u M-x run-scheme and feed it "mred -z" as your scheme
>>>> intepreter.  This should *probably* fit within the standard inferior
>>>> scheme mode for emacs, but I haven't tried beating on it very hard.
>>> I've tried the mred sequence suggested above.  When using mred for 
>>> GUI development, I've found that it doesn't really work, due to how 
>>> eventspaces interact by default with the terminal repl.
>>> I instead recommend using [[ the name of a file holding ]] the 
>>> following shell script as the argument to RUN-SCHEME
>>> #!/bin/sh
>>> ~/bin/PLT/bin/mred -e "(current-eventspace (make-eventspace))" -z $@
>>> -Felix, who is keeping himself from commenting on the virtues of 
>>> DrScheme versus those of Emacs.
>>> ----
>>> "The 6 quarts of cream of mushroom soup inside my
>>>  wetsuit are still deliciously warm"
>>>  -www.redmeat.com
> ----

Posted on the users mailing list.