[plt-scheme] documentation feature requests

From: Lee Spector (lspector at hampshire.edu)
Date: Sun Nov 15 15:14:37 EST 2009

I've been using and teaching DrScheme for a couple of months now, and  
while I'm still a newbie I would nonetheless like to offer a couple of  
suggestions based on my experience coming from Common Lisp  
environments and teaching students with an unusually wide range of  
backgrounds and motivations.

1. It would be really great if DrScheme provided more immediate access  
to more rudimentary documentation right in the IDE. I'm thinking  
primarily of arglist info and/or English descriptions of what  
particular procedures do.  I know that one can get into the main  
documentation in a browser with a couple of keystrokes, and it may  
seem like that should be good enough. But for one thing that  
documentation isn't as helpful to beginners as it might be (see  
below), and for another those couple of keystrokes and the context  
switching add up when you're trying to write code and aren't yet  
fluent. Having the information you need right there in the IDE, right  
when you need it, is qualitatively different. When I first started  
with DrScheme I made a plea here for "arglist on space" and received  
helpful replies about ways to get this in other editors along with  
explanations of why it isn't straightforward in PLT (because of case- 
lambda, at least). All the same, I think it would be possible to do  
something along these lines, and that even something partial would  
make a big difference for me and my students. I also know that what  
DrScheme provides is probably already a lot better than what most IDEs  
provide for most languages, but I guess I'm spoiled from using Common  
Lisp environments that provide arglist-on-space and keystroke access  
to documentation strings right in the IDE. I figure DrScheme could do  
something approximating this and I think this would be really helpful.

2. More examples -- simple, minimal examples -- in the documentation  
would help very very very much, both for relatively experienced  
programmers and especially for beginners. I also teach using  
Processing (www.processing.org) and the presence of simple examples in  
the documentation of every procedure is a transformative thing. The  
PLT documentation seems admirably thorough but it is often completely  
baffling to my students and I myself often have to chase several links  
before I can figure out how to make even a simple call to a particular  
procedure that interests me. And it's discouraging, because one never  
knows how many link-following and new-concept-learning steps will be  
required to make that first simple call. I'm not talking about  
complicated examples, and in fact the simpler the better. With such  
examples the user can try any procedure out immediately by cutting,  
pasting, and then adapting the example to suit their purposes. The  
"adapting" step may require a lot more reading, of course, but at that  
point the foot is in the door. I realize it will take time to write  
these examples, but I think they would make a big difference.

Just my 2 cents! Overall I'm enjoying working with PLT/DrScheme quite  
a bit, and I thank everyone involved for creating such a great  


Lee Spector, Professor of Computer Science
School of Cognitive Science, Hampshire College
893 West Street, Amherst, MA 01002-3359
lspector at hampshire.edu, http://hampshire.edu/lspector/
Phone: 413-559-5352, Fax: 413-559-5438

Check out Genetic Programming and Evolvable Machines:
http://www.springer.com/10710 - http://gpemjournal.blogspot.com/

Posted on the users mailing list.