[plt-scheme] Interacting w/ MzScheme
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
>>
>
>
----
WINDMILLS DO NOT WORK THAT WAY! GOOD NIGHT!