[racket-dev] planet2 and versions

From: David Vanderson (david.vanderson at gmail.com)
Date: Thu Dec 13 01:48:39 EST 2012

I was professionally writing Ruby code as that community struggled 
through package issues.  I hope that experience can shed some light 
here.  Also I'd like to understand the basic use cases and how they work 
in planet2.

As a user, here are my 2 use cases:

1. My friend tells me about awesome library X, and I want to install it 
and use it.  Planet2 makes this easy.

2. I have an existing app running and I want to replicate it exactly 
somewhere else (including libraries).  I'm not sure this is possible 
with raw Planet2.  The Ruby community finally dealt with this by saving 
the full library dependency list in a file ("bundle", with version 
numbers) that you save alongside your app.  It works fairly well.

Their experience suggests that accidental backwards incompatible changes 
in libraries happen frequently enough to need some kind of support for.  
Compatibility with the core language was not supported.  Either a 
library's webpage would say "requires ruby core >= 1.8.x", or sometimes 
importing the library would produce an error message telling you the same.

Do these use cases make sense?  (I'd like to hear about library 
developer use cases, but I have no experience there)

Thanks,
Dave

Posted on the dev mailing list.