[racket] Scope of PLaneT was: (no subject)
Edward Blake wrote at 11/02/2012 06:23 PM:
> I've assumed until now that PLaneT to be appropriate mainly for
> libraries and development oriented tools, but with the submodules
> feature some Racket applications could also serve a dual purpose as
> libraries quite easily.
Yes. For the forthcoming RackOut appliance, I've been breaking it up
into a mix of more standalone modules that each become their own PLaneT
package (e.g., the recent "vlc" and "sudo" packages), and some more
application-specific modules, which will be collected together into a
"rackout" PLaneT package. Once internal interfaces stabilize, I foresee
PLaneT packages also being the mechanism for adding third-party plug-in
modules to the app, like can be done for DrRacket plug-ins.
Additionally, there are already some not-too-application-specific
modules, like "rackout-parted" and "rackout-xrandr", which eventually
will probably move into their own PLaneT packages, but I can do that later.
Ideally, someone can install your app from PLaneT, and be able to run it
from DrRacket just by hitting the Run button, which is conducive to open
source development. I'm doing this with RackOut, although I expect that
most of the 5 or so people who will ever use RackOut will just boot the
RackOut Live disk image, which will be distributed separate from
PLaneT. Of course, someone getting RackOut from PLaneT will be able to
run "raco rackout-live-build" to make their own such bootable disk
image, including whatever changes they made to the app.
> The kanji search app for example is mostly
> intended to be a end user thing and may be distributed with 90 megs of
> data files before compression (it contains a small subset of
> Wiktionary articles and precomputed stuff to match drawings) though
> for PLaneT these files could be omitted,
Yeah, huge data blobs that change less often than program code -- like
mapping data, speech data, video files, etc. -- are often distributed
separately from program code. You can make your Racket package download
them at install time or run time.
Neil V.