[plt-scheme] planet require idea

From: Eli Barzilay (eli at barzilay.org)
Date: Thu Mar 20 13:21:24 EDT 2008

On Mar 20, Jacob Matthews wrote:
> On Thu, Mar 20, 2008 at 9:41 AM, Carl Eastlund <cce at ccs.neu.edu> wrote:
> 
> >  The one thing I'd suggest is changing the delimiters around
> >  version numbers.  You have:
> >
> >  owner/package/major/minor:path
> >
> >  I'd prefer:
> >
> >  owner/package:major.minor/path
> 
> I chose the syntax I did because it reminds me of the syntax one
> uses for specifying a path on a remote machine with scp; I suppose
> that's kind of an idiosyncratic choice though.

You still need to remember more: with scp, there's a clear separation
between the machine part and the path part; here it's confusing --
what is the "machine" equivalent?  The owner?  The owner+package?
Maybe the owner and then the package (with two `:'s)?


> I definitely think the major.minor syntax looks good, but what would
> the more advanced minor-version selectors look like? 3.>=5 looks a
> bit messy to me.
> 
> One potential way to do it would be to introduce brackets:
> 
> owner/package:1/path
> owner/package:1.5/path
> owner/package:1.[<=5]/path
> owner/package:1.[>=5]/path
> owner/package:1.[3-7]/path

(That would require hacking the reader, or using backslashes.)


> This would make the versionless spec look like:
> 
> owner/package:/path
> 
> which looks a bit ugly, but that's fine with me because I think people
> shouldn't generally specify packages without at least a major version
> anyway.


On Mar 20, Jacob Matthews wrote:
> On Thu, Mar 20, 2008 at 9:52 AM, Eli Barzilay <eli at barzilay.org> wrote:
> 
> >  +2.  Forcing a `:' delimiter is making people remember more.  The
> >  common case (no version) should be as simple as possible.
> 
> The common case shouldn't be no version, it should a major and minor
> version (or just a major version).

I don't think so.  The common case that is important to simplify is
the trying-stuff-out mode.  Then, when you write code, come the
version numbers.  (So the web page should definitely continue to
include the version part.)

-- 
          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                  http://www.barzilay.org/                 Maze is Life!


Posted on the users mailing list.