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

From: Dimitris Vyzovitis (vyzo at media.mit.edu)
Date: Thu Jun 5 14:27:16 EDT 2008

On Thu, 5 Jun 2008, Matthias Felleisen wrote:

>
> Mark, I do like your proposals, especially the data structure and
> planet idea:
>
> * planet requires: i totally agree that the syntax isn't as simple as
> it should get and the idea of a planet browser is good. I'd go even
> further. While a drop-down menu for currently installed packages is a
> neat idea, you could include ALL planet packages at the point when
> people download their drscheme. (They must access the web at that
> point, so getting one more URL then should be fine.) The Insert menu
> would naturally be split into locally available planet packages and
> remote packages.

This is an excellent proposal - I have been having gripes with not being
able to use the shiny new require syntax for module paths with planet.
What I would like to see, similar to matthias's menu, is to have a
meta-data interface for local installations (and planet install modules)
that provide aliases in the local environment.

To make this more concrete:

Let's say you have language module foo

foo/main.ss
foo/lang/reader.ss
...

Here, in the reader, you want to wrap the module in your main language.
When you are in a lib installation, it works wonderfully, just
(module reader syntax/module-reader  foo/main)

Alas, this breaks for planet distributed; the module itself has to
be aware of being a planet module from the begining or use the ugly old
school string paths in require.
This gets even worse when there are multiple dependent (in some way or
another) packages all distributed via planet.

However, let's say you have in install.ss (or a special planet.ss file, or
just info.ss) a module path alias definition facility,
something like:

(define-module-path foo (planet jrandomhacker/foo)) ...

This also provides an easy path for implementation independent use of
modules, based on their external interface, and external dependency
documentation.

-- vyzo



Posted on the users mailing list.