[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.