<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>YC wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div class="gmail_quote">Robby Findler&nbsp;wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
I guess the idea is that you'd eliminate the syntactic difference<br>
between a planet-located library and one in the distribution and then<br>
require on some external source to know where the package is located?<br>
Something like that? How would that work?<font class="Apple-style-span" color="#888888"><br></font></blockquote><div><br></div><div>Hi Robby - there are a lot of ways to go about doing this; Jay pointed to some ideas.&nbsp;</div>
<div><br></div><div>Here's one KISS approach without major changes (assuming the syntax have been unified):&nbsp;</div><div><br></div><div>Modify the module path resolver so that it does the following lookup for non-versioned require specs:&nbsp;</div>
<div><ol><li>try lookup the package in COLLECTS&nbsp;</li><li>if #1 fails, lookup the package in planet cache&nbsp;</li><li>if #2 fails, lookup the package in planet repo&nbsp;</li></ol><div>For the versioned specs, you can skip the collects step above since it is currently not versioned. &nbsp;But of course you can also change collects to become versionable in the future if you wish to re-architect the system.&nbsp;</div>
</div></div></blockquote><div><br></div><div>I agree with pretty much everything said so far. Here are some further thoughts:</div><div><br></div></div>I've expressed a desire in the past to be able to specify versioned dependencies on&nbsp;some of the "big" libraries that are in core. &nbsp;I could, say, get that new bug fix in SRFI 19 without having to worry about upgrades to other core libraries.<div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"></blockquote></div><div><br></div><div>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 <a href="http://planet.racket-lang.com">planet.racket-lang.com</a>. This would let me get rid of a bunch of nasty hacks and scripts in the current Untyped build process.<br><div><div><br></div></div><div>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.</div><div><br></div><div><div>Cheers,</div><div><br></div><div>-- Dave</div></div><div><br></div></div></body></html>