What do you think about this simple convention for multiple installed
Racket versions on a Unix-ish OS, when key parts of userland are
implemented in Racket, and when you also might be working on custom
versions of core Racket itself on the device while you are using the device?
* Directory tree "/usr/local/racket/",[1] underneath which will be
subdirectories for particular core Racket install/development trees
(e.g., "6.12", "7.0", "github-master", "git-branch-power-mgmt"), and
also symlinks for current selections of which Racket trees to use for
which functional purposes.
* The symlinks for different functional purposes might include something
like "default" (for most purposes), "system" (for things like keeping
your current boot/session at least minimally useful, so that you can be
more aggressive with changes to "default"). Additionally, for a kind of
bootloader level for "system", there could also be "system-safe" (for
automatic failing over, such as when booting with "system" fails), and
"system-nextboot" (which would tentatively replace the "system" symlink
at next boot, perhaps failing over to the old "system" symlink value
before "system-safe"). This is slightly complicated, but the little bit
of complexity is mostly confined to a "system" bootloader -- most
everything else only needs to care about whether it uses "default" or
"system" Racket, if it specifies at all.
* User's shell executable search path would include
"/usr/local/racket/default/bin".
* Executable Racket scripts that really needed a "#!" line could use
"/usr/local/racket/default/bin/racket" or
"/usr/local/racket/system/bin/racket", as appropriate. Though our
environment might invoke most Racket programs other, more-Rackety, ways.
[1] The directory doesn't have to be rooted at "/usr/local/racket/". I
just used that as a GNU-ish safe default for these examples (and it's
usually on a "/usr" or "/" partition filesystem, which are mounted
reliably), but that's not set in stone yet. It could also be
"/usr/racket/", "/opt/racket/", "/racket/", or something else. Let me
know if your favorite Unix-ish OS really wants or doesn't want it
particular places, in case some of this Racket userland stuff might also
be good on that platform, not only on a PostmarketOS handheld. (And
we're not saying that Racket in some form couldn't someday also belong
in a "/boot/" directory/partition, but personally I'd first like to
conquer userland. :)
--
You received this message because you are subscribed to the Google Groups "Racket
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.