One of the promises of PLaneT is that it makes it easy to use library modules without explicit installation.
One of the peeves of PLaneT is that it makes it too easy to use programs with implicit PLaneT package installation. --- Explanation: when I run a program for the first time, and I see a long delay with no output, I can't tell if the computer is stuck in a infinite loop, or if it's installing PLaneT packages. It's usually the latter. I often end up Control-Cing it, and getting in a mess: a computer setup where the PLaneT package is half installed and slow to execute because the installation didn't complete. I would greatly prefer it if, at module instantiation time, the system stops and says up front something like this: This program foo.rkt depends on PLaneT packages that haven't been installed yet. Please do ...1 to install the following pre-requisite packages: ...2 where ...1 should be something short and sweet, like: raco install-planet-deps foo.rkt on the command line, and ...2 is the immediate set of PLaneT dependencies that Racket knows that it needs (thought it may be an incomplete list since those packages may themselves require others.) Generalize to DrRacket as well. Doing install-planet-deps on a program whose PLaneT dependencies are satisfied should be a no-op. The point is to make the PLaneT package installation process both (1) visible and (2) user executable. Neither Run or Check Syntax should allow PLaneT packages to install quietly: I really do want it also to require an explicit installation of PLaneT packages. I suppose if a PLaneT package is being dynamically required, that some kind of invisible installation might be necessary. But, for the most common case, make PLaneT package installation an explicit but easy step to accomplish. The invisible installation is harmful from an interaction perspective: whenever I demo a Racket program on a fresh machine in front of an audience, I have to almost always apologize when PLaneT starts its silent, implicit installation. _________________________ Racket Developers list: http://lists.racket-lang.org/dev