Four hours ago, Neil Van Dyke wrote: > 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?
That's exactly the right answer. > 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. Yes -- the problem there (in the racket context), is when you want to separate out *some* of your files into a reusable library. In this case, relative (string) requires going from your code that is not in this library to code that is in the library should change -- because the library is going to have a different "standard" name (with planet, it'll be some `planet/foo/blah'). Since this is an inherent change in library naming, I don't see how it could be resolved without running into the same kind of issues. > 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. Right -- PLTCOLLECTS has an important role, but it not something that should be used too early. I think that there's not enough warnings to make people avoid using it. (And when you do use it, the environment variable is better than racket command-line options, since it'll get used by all other racket applications.) > 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. +1. -- ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: http://barzilay.org/ Maze is Life! _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users