[racket-dev] haskell's 'hell of a lot of libraries', planet

From: Dave Gurnell (d.j.gurnell at gmail.com)
Date: Wed Jul 28 10:03:11 EDT 2010

YC wrote:

> Robby Findler wrote:
> 
> I guess the idea is that you'd eliminate the syntactic difference
> between a planet-located library and one in the distribution and then
> require on some external source to know where the package is located?
> Something like that? How would that work?
> 
> Hi Robby - there are a lot of ways to go about doing this; Jay pointed to some ideas. 
> 
> Here's one KISS approach without major changes (assuming the syntax have been unified): 
> 
> Modify the module path resolver so that it does the following lookup for non-versioned require specs: 
> try lookup the package in COLLECTS 
> if #1 fails, lookup the package in planet cache 
> if #2 fails, lookup the package in planet repo 
> For the versioned specs, you can skip the collects step above since it is currently not versioned.  But of course you can also change collects to become versionable in the future if you wish to re-architect the system. 

I agree with pretty much everything said so far. Here are some further thoughts:

I've expressed a desire in the past to be able to specify versioned dependencies on some of the "big" libraries that are in core.  I could, say, get that new bug fix in SRFI 19 without having to worry about upgrades to other core libraries.

I'd also like to be able to set up a PLaneT proxy to add in-house libraries in on the top of publicly available libraries from planet.racket-lang.com. This would let me get rid of a bunch of nasty hacks and scripts in the current Untyped build process.

Racket's main distribution is big and takes time to compile and install. I'd personally be in favour of a leaner core distribution with more code in external packages, so I can choose what I download when I'm only interested in a single web application. Of course, it would also useful to have a "kitchen sink" distribution that gives you everything you need if you don't have a network connection on your PC.

Cheers,

-- Dave

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/dev/archive/attachments/20100728/d52db8fc/attachment.html>

Posted on the dev mailing list.