[plt-scheme] PLT v 4.0 discussion - planet browser

From: Eli Barzilay (eli at barzilay.org)
Date: Thu Jun 5 08:38:41 EDT 2008

On Jun  4, Mark Engelberg wrote:
> 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%.

That's the intention of the `scheme' language, and `scheme/base' is
for a (much) smaller subset, which is more stable and takes less time
to load.  For example, when you develop a script, you'd probably use
`scheme' first when you just want to get it working, then move to
`scheme/base' when it grows (so it takes less time to load, and you
have a better control of names that are bound).

> 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.

This is easy, since you don't need a version (even though many people
say that it's a mistake not to have one -- but for quick scripts it's
probably fine), and if the package has a "main.ss" file then you don't
even need to specify the file.  So "Foo" can write a "Bar" package
that you'd access with a simple:

  (require (planet foo/bar))

and that, IMO, is simple enough to be memorable -- I don't see how it
can be any simpler...

> 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.

While this sounds appealing, my (personal!) opinion is that doing this
kind of browser is better done through ... a web browser.
Translation: I think that it's a better idea to stick with a browser,
and perhaps use some more black magic (=javascript) to get things to
look like an application.  But either web- or custom-browser, there is
definitely lots of improvements that can be done to lots of
components, including planet.

> 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.

(This should work.  IIUC, there were a few problems (including at
least one that I still didn't commit), but it should be in for the v4

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                  http://www.barzilay.org/                 Maze is Life!

Posted on the users mailing list.