[racket-dev] Planet 2 Beta Release

From: Jay McCarthy (jay.mccarthy at gmail.com)
Date: Thu Nov 8 15:13:53 EST 2012

On Thu, Nov 8, 2012 at 11:01 AM, Sam Tobin-Hochstadt <samth at ccs.neu.edu> wrote:
> On Thu, Nov 8, 2012 at 8:16 AM, Jay McCarthy <jay.mccarthy at gmail.com> wrote:
>> Now that the 5.3.1 release is finished, I've just pushed the beta release of
>> Planet 2 to the Racket core.
>
> Here, as promised, more detailed but small comments.  I have one
> larger design issue, which I want to write up in a separate mail.
>
> * I think the places you use 'PLT' in the documentation should be
> replace with 'Racket maintainers' -- PLT is a research group with lots
> of overlap with the Racket maintainers.

Sure.

> * I think tying to GitHub is a mistake -- the system should work for
> for arbitrary Git repositories.  Having a short syntax for github is
> great, though.  Additionally, we should support fixing a checksum for
> a package.  The npm docs have a similar list of things that can be
> installed here: https://npmjs.org/doc/install.html

Github automatically generates zip/tgz files. Planet 2 knows nothing
about Github other than this and the URL structure of their site to
get them and the checksums.

If you'd like to implement general git support, I think that would be
great, but it is more work than I have time to do. I can point you in
the right direction.

> * I think we should drop the `.plt` archive format entirely.

It is the default because Racket can create it and unarchive it
natively. If someone implements a native Racket zipper/unzipper, that
would be great. My understanding is that this is on Eli's todo list
and when it is done, it would be great to change Planet 2's default.

> * It would be nice to have a command-line way of publishing a package
> to a name service.

I don't want to legislate how that works, force all service to support
publishing, or reimplement the pieces of the Web browser that submit
the forms, etc. Additionally, I expect you do this rarely.

> * I think use 'dont-' in command line arguments is potentially
> confusing, and the 'no-' prefix is more common in other software.

I have no preference about this shed color. If others feel strongly,
it can change.

> * It would be nice to have fewer special files.  For example,
> `MANIFEST` could be abolished by just fetching the whole content of
> the directory.  Checksums could be included in the `METADATA` file.

The manifest is necessary because there's no reliable way to get a
directory list from a Web site.

The checksum can't be in the metadata because the metadata is in the
archive, but you need to be able to get the checksum without getting
the archive.

> * Similarly, the names of the special files could avoid ALL-CAPS, and
> I'd go with the name 'package' rather than `metadata`.

I have no preference about this shed color. If others feel strongly,
it can change.

> * I think 'update' with no arguments shouldn't do a global operation;
> use `-a/--all` for that, otherwise it's easy (say in scripts) to
> accidentally trigger the global behavior.

I'll make this change soon.

> * In section 3.1, you should have 'git push -u origin master'.

This is directly from the Github docs:
https://help.github.com/articles/create-a-repo

> * We really need valid SSL certificates for any user-facing sites.
> StartSSL gives them away for free: http://www.startssl.com/

I agree that the Racket maintainers should buy something like this.

> * I thought the conclusion of a recent discussion on dev@ was that
> tests, typed, etc sub-collections *are* preferred.

I think I missed this conversation. I don't understand the conclusion
given that we don't want to always distribute tests, for example.

> * Can the Planet1 compatibility also have a version-less translation
> for the latest version, so that `jaymccarthy/opencl/module` could keep
> working?

I don't want that version-less one to conflict with any of the other
ones so that Planet 1 packages that rely on multiple versions will
work. Am I missing a part of the request?

> * I think the auto-installing module resolver mentioned in "Short
> Term" is a bad idea -- it's already really easy to install packages
> with this system, and auto-installation just introduces possibility
> for headaches.

I don't think it is *bad* idea, but I also don't think it is
*necessary*. But there are other people in the Racket group who think
this is totally necessary for Planet 2. I'll let them explain why.

Jay

--
Jay McCarthy <jay at cs.byu.edu>
Assistant Professor / Brigham Young University
http://faculty.cs.byu.edu/~jay

"The glory of God is Intelligence" - D&C 93

Posted on the dev mailing list.