[plt-scheme] PLT v 4.0 discussion - planet browser
So I've used this "almost-final" release as an opportunity to download
and see what's in store for v 4.0. There's a lot of great changes
here!
Perhaps most importantly (to me), the new features, and better
organization of the existing features gives v 4.0 a much greater
feeling of "batteries included". You just type in #lang scheme, and
you're ready to go -- 90% of what you need is probably already in
there. If I had been the one making the decisions, I probably would
have erred on the side of including even more, but what's there is
definitely good. And with the simplified require statements, and
better organization of the documentation, it's much easier to find and
include that remaining 10%.
It is now significantly more pleasurable to program in PLT Scheme.
Now, seeing how much things have been improved, I'm brimming with lots
of ideas for further refinements. Rather than post it all in one big
brain dump, I'm going to break each idea into separate emails, to aid
discussion.
Topic #1: Planet browser
Eli mentioned in an earlier post, that the role of the planet will
continue to grow, rather than throwing more and more libraries into
the main distribution. This means that planet packages should be just
as easy as using built-in libraries.
Right now, when I want to use the memoization planet package, I can't
possibly remember the exact syntax and version number to include this
in my file. I inevitably have to find and open another file where I
used the package, or browse the planet repository to find the right
require line.
Some have proposed that the planet require statement be simplified
syntactically, but I don't think this goes far enough. I would like
to see an integrated planet browser, that makes it at least as easy to
find and use a planet package as it is to add a teachpack in the
learning languages.
Here's what I imagine:
When you want to add a planet package, you select "Add planet package"
from a menu, or use a keyboard shortcut, to pop-up the planet browser.
The planet browser shows you a list of all locally-installed planet
packages. The reality is that most people use the same packages
repeatedly, so listing the locally-installed packages is a huge
timesaver. Click on the package, and the appropriate require
statement is added to the top of your file. Under the list is "add
other package", which lets you browse and select from the other
packages.
Also, it would be great if locally installed packages become part of
the help desk documentation. Going back to the planet to look up
something in the documentation is tedious.
--Mark