[racket-dev] proposal for moving to packages

From: Neil Van Dyke (neil at neilvandyke.org)
Date: Mon May 20 22:04:26 EDT 2013

I'm calling for making Racket and package source transparently 
accessible, even though not actually bundled into distribution downloads...

Racket has a research and education bent, and also attracts some of the 
more sophisticated developers.  For all of these audiences, there's a 
tradition of accessibility of source, and arguably value in that.

I think transparent navigability to source would be appropriate for 
Racket.  Transparent navigability to source could mean that DrRacket 
will download source on-demand for any binary package that is installed, 
rather than source having to be bundled with the package, or requiring 
user to go get source separately.

Admittedly, I think source accessibility is not as important in Racket 
as in Emacs.  (Because, for general programming, the Racket 
documentation is sufficient and the source wouldn't help.  And for 
extension of the programming environment, which was one of Emacs's 
greatest achievements, extending DrRacket is much harder; plus, the 
DrRacket source is not much help if you didn't previously tackle the 
manuals on frameworks and such, which almost no one does.)  But there 
are uses for source accessibility, especially for independent add-on 
packages, and the principle of being able to easily pop the hood still 
has value.

Example: Imagine I'm in the middle of writing a Racket program and am 
wondering about characteristics of some kind of I/O port in Racket.  
With transparent source accessibility, I can just click on an identifier 
in my program in DrRacket to start browsing the implementation.  Maybe I 
see a possible improvement, or seeing the source pre-empts yet another 
email list question that otherwise only Matthew could answer, or I feel 
empowered to go add a new feature.  If the source is not as accessible, 
then I'm more likely to be a mere naive user of the tools, rather than 
to understand the tools and help improve them.

Side note: I'm also looking forward to seeing how this new packaging 
works out, especially if it leads to me being able to ship small binary 
packages for iPhone/Mac/Windows, implemented in Racket.  (I don't care 
about open source principles on those very closed platforms; I just want 
their money.  Which is totally different from what I want from an 
intellectually-inclined open source development platform.)

Neil V.

Posted on the dev mailing list.