[racket] Help On User Libraries - The Basics
Ray Racine wrote at 08/21/2011 01:06 PM:
> So here is the scenario. Joe the some what experienced coder hears
> lisp is cool and Racket is the coolest lisp around.
I understand what you're saying, and I think you've convinced me to
change my answers. Before, I wanted Joe to use PLaneT development links
early and often, to smooth the transition to sharing code, but they are
a little annoying even when you know how to use them and you have
scripts to help automate.
What if we initially tell Joe to just using relative filenames in his
"require"s for his own multi-file project for now?
If Joe wants to get into packaging reusable libraries, which it sounds
like you're doing, then he'll have a problem in most any language of
where to put the files and how can they be found later. In the case of
Racket, we tell him how to do his Subversion/Git/Perforce checkouts so
that he can keep using relative filenames.
Then, only once Joe gets to the point that he wants to share his
libraries as open source, do we tell him about PLaneT development links
and the rest of PLaneT.
Finally, we have a section buried somewhere for people who have a lot of
proprietary reusable collections and don't want to hassle with PLaneT
development links for it, and for whatever reason don't want to just
have the configuration management checkouts put the files in standard
relative locations... when we tell them the secret of "PLTCOLLECTS".
Then we tell them life will be easier if they just use relative
filenames for proprietary code, and PLaneT development links for open
source code.
Every time Joe expresses confusion about whether he should be using
PLaneT development links or "PLTCOLLECTS", and he's not sure they're the
right way and not sure he's doing it right... we apologize for ever
mentioning those, as well as for what we're about to do... and hypnotize
him and clear the slate, and when he wakes, he will remember only
relative filenames.
--
http://www.neilvandyke.org/